#swift #xcode #swiftui
Вопрос:
У меня есть этот код здесь (помещен в представление):
if videoPos > 0.05 {
Text("It Worked Yay!")
playerPaused = false
}
Однако, поскольку «Тип» () «не может соответствовать «Просмотру»», я не уверен, как я могу изменить переменную, когда videoPos > 0,05.
Это видеозапись: @Binding private(set) var videoPos: Double
Как я могу преодолеть это?
Комментарии:
1. Обновляйте
playerPaused
там, где вы обновляетеvideoPos
.2. Я вставил туда, где я непосредственно объявляю и устанавливаю видео, равное другому значению, здесь: pastebin.com/9zVr6geB но он находится не внутри той же структуры (VideoPlayerControlsView), а в другом классе, как я могу отредактировать его оттуда?
3. @EmilioPelaez, если это поможет, вот весь мой код: pastebin.com/Ss6m0CA1
4. Вы можете использовать это
}// Your view end .onChange(of: videoPos) { value in playerPaused = false }
Ответ №1:
Вы можете использовать onChange
}// End HStack
.onChange(of: videoPos, perform: { value in
if value > 0.05 {
playerPaused = false
}
})
если поддерживается iOS 13, используйте combine
}// End HStack
.onReceive(Just(videoPos), perform: { value in
if value > 0.05 {
playerPaused = false
}
})
import Combine
Комментарии:
1. Большое вам спасибо, я так долго пытался решить эту проблему 🙂