Почему .fullScreencover (Ispresated: $ Somebinding) требует привязки вместо простой ломки?IOS

Программируем под IOS
Ответить
Anonymous
 Почему .fullScreencover (Ispresated: $ Somebinding) требует привязки вместо простой ломки?

Сообщение Anonymous »

Интересно, почему .fullScreenCover (Ispresated :) требует привязки вместо простой лондоны. Я понимаю, что. Sheet требует обязательного отчета, что он был закрыт, например, Через жест. < /p>

Код: Выделить всё

.fullScreenCover
, с другой стороны, не предлагает никакой сборки методов, чтобы закрыть обложку, не так ли? Таким образом, ни пользователь, ни iOS не могут закрыть обложку. Таким образом, нет ничего, чтобы сообщить обратно, и, следовательно, простой параметр Bool был бы достаточным, как в этом примере: < /p>

Код: Выделить всё

struct CoverTestView: View {
@State var visible: Bool = false

var body: some View {
// Pass simple Bool instead of Binding
CoverView(visible: visible)

Button("Toggle") {
visible.toggle()
}
}
}

struct CoverView: View {
let visible: Bool

var body: some View {
if visible {
Text("Hello, World!")
}
}
}
для чего необходимо привязка?
, конечно Требуется привязка. Но это потребуется в контенте обложки, а не в.struct CoverTestView: View {
@State var visible: Bool = false

var body: some View {
Button("Toggle") {
visible.toggle()
}
.fullScreenCover(isPresented: visible) {
CoverView(visible: $visible)
}
}
}

struct CoverView: View {
@Binding var visible: Bool

var body: some View {
if visible {
Text("Hello, World!")
}
Button("Dismiss") {
visible = false
}
}
}
< /code>
Я предполагаю, что инженеры iOS использовали привязку по причине. Так чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-instead
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»