Я не могу добавить жирную границу, за которой следует нежирная граница.
Я могу сделать нежирную, а затем жирную границу, но я не знаю, возможна ли граница, за которой следует жирная граница и нежирная граница.
это то, что у меня есть на данный момент:::
import SwiftUI
struct ContentView: View {
var body: some View {
EventMatcherCardBorder{
Text("A")
}
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
struct EventMatcherCardBorder<Content: View>: View {
let content: Content
let CORNER_RADIUS: CGFloat = 50
init(@ViewBuilder content: () -> Content) {
self.content = content()
}
var body: some View {
VStack{
VStack{
VStack {
VStack{
Spacer().frame(height:5)
Image("auth_icon")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(height: 50)
content
.background(Color.white)
.padding(10)
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
.padding(2)
.overlay(
RoundedRectangle(cornerRadius: CORNER_RADIUS)
.stroke(ThemeColors.dark_blue_2, lineWidth: 8)
)
}
.padding(1)
.overlay(
RoundedRectangle(cornerRadius: CORNER_RADIUS)
.stroke( ThemeColors.dark_blue_3, lineWidth: 6)
)
}.padding(15)
}
}
struct ThemeColors {
static let dark_blue_2 = Color.blue
static let dark_blue_3 = Color.red
}
я не нашел stackoverflow с границей Bold not-Bold
Этот пост может помочь: Как нарисовать обводку вне элемента?





Если вы хотите, чтобы за темной рамкой следовала более светлая граница, то
используйте static let dark_blue_2 = Color.blue.opacity(0.3) и
добавьте .padding(4) после .stroke(ThemeColors.dark_blue_2, lineWidth: 8)
чтобы настроить расположение внутренней границы светлея, как показано в примере кода:
struct EventMatcherCardBorder<Content: View>: View {
let content: Content
let CORNER_RADIUS: CGFloat = 50
init(@ViewBuilder content: () -> Content) {
self.content = content()
}
var body: some View {
VStack{
VStack{
VStack {
VStack{
Spacer().frame(height:5)
// Image("auth_icon")
Image(systemName: "house") // <-- for testing
.resizable()
.aspectRatio(contentMode: .fit)
.frame(height: 50)
content
.background(Color.white)
.padding(10)
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
}
.padding(2)
.overlay(
RoundedRectangle(cornerRadius: CORNER_RADIUS)
.stroke(ThemeColors.dark_blue_2, lineWidth: 8)
.padding(4) // <-- here, adjust as required
)
}
.padding(1)
.overlay(
RoundedRectangle(cornerRadius: CORNER_RADIUS)
.stroke(ThemeColors.dark_blue_3, lineWidth: 6)
)
}.padding(15)
}
}
struct ThemeColors {
static let dark_blue_2 = Color.blue.opacity(0.3) // <-- here, adjust as required
static let dark_blue_3 = Color.red
}
Картина — желаемый результат или результат вашей неудачной попытки? Когда вы говорите «А, за которым следует Б», вы имеете в виду, что А — внутренняя граница, а Б — внешняя граница, или наоборот?