Как расширить фрейм dx, dy в SwiftUI - PullRequest
1 голос
/ 14 марта 2020

По какой-то причине создаваемое мною представление Text() иногда неправильно помещает строку в ее фрейм, а вместо этого dr aws многоточие - в то время как я явно не определяю фрейм вида. Поэтому я хотел бы «расширить» кадр на величину dx / dy в направлениях x / y - есть ли для этого модификатор вида? ех. Text(" Jx3 ").expand(dx: +4, dy: 0) Или, возможно, я не должен использовать лишний пробел в строке, но тогда форма фона слишком узкая.

                        viewForPoints(displayHistory[index].displayPoints)
                            .overlay(
                                    Text(" \(displayHistory[index].abbreviation) ")
                                    .foregroundColor(.gray)
                                    .font(FONTO)
                                    .offset(x: +8, y: +14)
                                    .background(
                                        Capsule()
                                            .fill(Color.white)
                                            .offset(x: +8, y: +14)
                                )
                        )

enter image description here

1 Ответ

1 голос
/ 14 марта 2020

Попробуйте использовать фиксированный размер, как

.overlay(
   Text(" \(displayHistory[index].abbreviation) ")
      .fixedSize()
 )

Протестировано и работает с некоторым реплицированным кодом с Xcode 11.2 / iOS 13.2

Примечание: использует оверлей тот же кадр, что и у его владельца, так что, вероятно, вместо него стоит рассмотреть ZStack.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...