1
因此,目前我有UITableViewController同时包含UITableView和UIPickerView。用户可以通过使用选择器来选择如何过滤表中的数据。目前,当在拾取装置中排用户滚动,表的更新,我这是怎么做到了这一点:是否有可能同时动画UIPickerView和UITableview
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
// Code to update table data...
self.tableView.reloadSections(NSIndexSet(index: 0), withRowAnimation:UITableViewRowAnimation.Automatic)
self.tableView.endUpdates()
return title
}
不幸的是,表中没有时reloadSections()被调用动画。我的猜测是,这是因为我无法动画滚动选取器并同时重新加载表格。
我该如何去动画两个同时? 谢谢。
感谢您的回答,不幸的是这并没有解决我的问题。我试过你的替换,以测试它是否正确引用,它的确如此。 我认为这可能是因为动画的原因是因为如果我把reloadSections()放在didSelectRow中,它会正确地进行动画。在didSelectRow中,用户已停止滚动,并且在选取器中没有任何动画正在进行。 –
嗯,我忽略了这部分......正如你所提到的,titleForRow(或similiars)函数只会被调用来“初始化”一个单元格,或者当单元格即将被显示时。 所以现在你想更新你的tableView,而UIPickerView是在动画/“旋转”?然后看看这一个:http://stackoverflow.com/a/1511347/5743350 – Muli
是的,你是正确的,我想在选择器旋转时更新表格。我会尝试链接中的解决方案,谢谢!我可以问你在哪里找到有关课程生命周期的细节?你似乎知道的不仅仅是我能从文档中获得的东西。你怎么知道titleForRow只被调用来初始化一个单元? –