Kor*_*tor 21 forms picker ios swiftui
单击选择器后,它将导航到选择视图。项目列表渲染得离顶部太远,但在动画完成后会捕捉到。为什么会这样?
演示:https : //gfycat.com/idioticdizzyazurevase
我已经创建了一个最小示例来排除导航栏标题和按钮、表单部分和其他细节:
import SwiftUI
struct NewProjectView: View {
@State var name = ""
var body: some View {
NavigationView {
Form {
Picker("Client", selection: $name) {
Text("Client 1")
Text("Client 2")
}
}
}
}
}
struct NewProjectView_Previews: PreviewProvider {
static var previews: some View {
NewProjectView()
}
}
Run Code Online (Sandbox Code Playgroud)
这发生在预览模式、模拟器和设备上(Xcode 11.2、模拟器中的 iOS 13.2、设备上的 13.3 beta 1)。
Kor*_*tor 10
强制导航视图样式堆叠时,可以解决明显错误的行为:
NavigationView {
…
}.navigationViewStyle(StackNavigationViewStyle())
Run Code Online (Sandbox Code Playgroud)
这是我的问题的解决方案,但我不会将此标记为已接受的答案(还)。
在我看来,它与导航栏有关。默认情况下(未提及.navigationBarTitle扩展名),导航显示模式设置为.automatic,应修改为.inline。我遇到了另一篇与此类似的帖子,并使用他们的解决方案与您的解决方案相结合,使用.navigationBarTitle("", displayMode: .inline)应该会有所帮助。
import SwiftUI
struct NewProjectView: View {
@State var name = ""
var body: some View {
NavigationView {
Form {
Picker("Client", selection: $name) {
Text("Client 1")
Text("Client 2")
}
}
.navigationBarTitle("", displayMode: .inline)
}
}
}
struct NewProjectView_Previews: PreviewProvider {
static var previews: some View {
NewProjectView()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3019 次 |
| 最近记录: |