SwiftUI округлый прямоугольник, отрезанный снизу

#swift #swiftui

Вопрос:

У меня есть быстрый RoundedRectangle :

 ScrollView(.horizontal, showsIndicators: false) {
            Group {
                HStack {
                    if let height = height {
                        if height != "" {
                            aboutMeItem(info: height, image: "ruler").frame(minWidth: 20)
                        }
                    }
                }
                .frame(minHeight: 70, maxHeight: 70)
                .overlay(RoundedRectangle(cornerRadius: 15).stroke(Color("darkGrey"), lineWidth: 3))
                .padding([.leading,.top,.trailing])
            }
        }
 

Мой вывод таков:

введите описание изображения здесь

По какой-то причине нижняя линия немного вырезана, и вы не можете видеть всю ширину линии.

Iv попытался удалить вид под ним, если что-то закрывало его, но это было не так. Я пробовал возиться с frame min «и maxHeight «, но это все равно одно и то же, несмотря на одно и то же.

Ответ №1:

Вы должны использовать strokeBorder вместо stroke .

еще одна вещь, которую вы сделали, это .padding([.leading,.top,.trailing]) то, что вы не включили дно! но я думаю strokeBorder , что это также охватит и это.


 ScrollView(.horizontal, showsIndicators: false) {
        Group {
            HStack {
                if let height = height {
                    if height != "" {
                        aboutMeItem(info: height, image: "ruler").frame(minWidth: 20)
                    }
                }
            }
            .frame(minHeight: 70, maxHeight: 70)
            .overlay(RoundedRectangle(cornerRadius: 15).strokeBorder(Color("darkGrey"), lineWidth: 3)) // <<: Here
            .padding([.leading,.top,.trailing]) // <<: Here!!! you did not used .bottom
        }
    }
 

Комментарии:

1. strokeBorder работал, без необходимости применять какие-либо отступы .