小编DaW*_* Xu的帖子

Swiftui Form View 跳转错误

我在遵循Raywenderlich 教程时遇到了问题。每次我单击一个项目时,表单视图都会自动向上跳一点。这是一个错误吗?反正有办法解决吗?代码如下。在 Contentview 中,我使用 GroupedListStyle() 来列出所有项目。我的 xcode 版本是 11.2,Swift 5。

在此处输入图片说明

下面是 TaskEditingView.swift

import SwiftUI

struct TaskEditingView: View {
    @Binding var task: Task

    var body: some View {
        Form {
            TextField("Name", text:$task.name)
            Toggle("Completed", isOn: $task.completed)
        }
    }
}

struct TaskEditingView_Previews: PreviewProvider {
    static var previews: some View {
        TaskEditingView(task: .constant(Task(name: "TO DO")))
    }
}
Run Code Online (Sandbox Code Playgroud)

下面是 ContentView.swift

import SwiftUI

struct ContentView: View {
    @ObservedObject var taskStore: TaskStore
    @State var modalIsPresented = false

    var body: some View {
        NavigationView { …
Run Code Online (Sandbox Code Playgroud)

xcode storyboard ios swift swiftui

10
推荐指数
1
解决办法
1137
查看次数

如何使用 SwiftUI 连续呈现两个警报视图

单击第一个警报视图的关闭按钮后,我想立即显示第二个警报视图。

Button(action: {
     self.alertIsVisible = true
}) {
     Text("Hit Me!")
}
.alert(isPresented: $alertIsVisible) { () -> Alert in
    return Alert(title: Text("\(title)"), message: Text("\n"), dismissButton:.default(Text("Next Round"), action: {
        if self.score == 100 {
            self.bonusAlertIsVisible = true
    }
    .alert(isPresented: $bonusAlertIsVisible) {
        Alert(title: Text("Bonus"), message: Text("You've earned 100 points bonus!!"), dismissButton: .default(Text("Close")))}
})
)
Run Code Online (Sandbox Code Playgroud)

但是,它给了我一个错误“Alert.Button”不能转换为“Alert.Button?” 如果我将此段置于dismissButton 的范围之外,它将覆盖之前的.alert。那么我该怎么做,我只想在单击第一个警报的关闭按钮后弹出第二个警报。谢谢。

ios swift swiftui

2
推荐指数
1
解决办法
1389
查看次数

标签 统计

ios ×2

swift ×2

swiftui ×2

storyboard ×1

xcode ×1