表单内 Swift 中的选择器控件有啥问题?
Posted
技术标签:
【中文标题】表单内 Swift 中的选择器控件有啥问题?【英文标题】:What's the problem with picker control in Swift inside a form?表单内 Swift 中的选择器控件有什么问题? 【发布时间】:2020-01-25 10:29:26 【问题描述】:我不知道为什么选择器不能在 Swift UI 中的表单内工作。如果用户第二次点击,应用程序将崩溃。控制台将打印以下输出:
[TableView] 仅警告一次: UITableView 被告知在不位于视图层次结构中的情况下布局其可见单元格和其他内容(表视图或其父视图之一尚未添加到窗口)。
struct ContentView: View
@State private var countryIndex = 0
var countries = ["US", "Germany", "Korea", "Russia"]
var body: some View
NavigationView
Form
Section
Picker(selection: $countryIndex, label: Text("Country"))
ForEach(0 ..< countries.count)
Text(self.countries[$0]).tag($0)
.navigationBarTitle(Text("Country"))
【问题讨论】:
这能回答你的问题吗? Why is SwiftUI picker in form repositioning after navigation? 【参考方案1】:首先,你得到的警告只是一个警告,所以你不应该介意,但如果你设置.navigationBarTitle("xyz", displayMode: .inline)
,它就会消失。
其次,导航只能工作一次是模拟器的问题,如果你在真机上构建和运行,它就不会发生。
【讨论】:
以上是关于表单内 Swift 中的选择器控件有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章
Android,有啥方法可以禁用使用键盘在日期选择器内写入?