我的应用程序跟踪事件。用户可以创建新事件或加入现有事件。事件有标题、地点、开始日期、可选的结束日期等。
我有一个 UITableViewController
来显示事件列表,带有一个自定义单元格的沼泽标准。
用于创建事件的数据输入屏幕(参见图 2)也是一个 UITableViewController
,类似于 Apple iOS 日历应用程序的“新事件”屏幕(参见图 1)。我创建了多个原型(prototype)单元(一个带有 UITextField
,另一个带有 UIDatePicker
,另一个带有 UICollectionView
,等等)。屏幕本身工作正常,但是......
我正在尝试创建一个像 this tutorial from Apple 那样的展开转场在“创建展开转场”部分中。第 7 步 - 没问题。第 8 步 - 哎呀!
在教程中,有一些简单的控件来收集数据、创建“餐食”、将其添加到餐食数组并返回到餐食列表。但是,我有一个 UITableViewController。
我不知道如何收集数据以创建我的事件、将其添加到数组等。
我是否需要在不使用 UITableViewController
的情况下重新设计 UI?对于这种情况来说,这似乎是完美的 UI。
最佳答案
您可以使用委托(delegate)将数据从表xib获取到您想要的任何 Controller ,希望这有帮助
1.将此方法添加到 xib 的 View Controller 文件顶部
protocol ViewModelDelegate
{
func sendValue(from PassData: String?)
}
class XibViewController: UITableViewCell {
var controller:HomeViewController()
override func awakeFromNib() {
super.awakeFromNib()
controller.delegate = self
}
//call this method on any button action or save
controller.sendValue(from PassData:String?)
}
创建一个要将所有数据提取到 View Controller 中的函数。
class:HomeViewController:UITableViewController { override func viewDidLoad() { super.viewDidLoad() } func sendValue(from PassData:String?) { //code to get the data from picker or textfield } }
关于ios - UITableViewController 作为数据输入屏幕(iOS、Swift)和日历应用程序 "New Event"屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57248907/