我正在研究xamarin.ios。我的视图中有一个UITableView控件。我在其中选择一行,然后移动到下一个屏幕。如果我再次回到UITableView屏幕,则所选行不会突出显示。它突出显示一秒钟,然后自动取消选择。如果我回到tableview,如何管理,应突出显示所选行。
答案 0 :(得分:1)
很难说没有看到任何代码,但看起来正在viewDidAppear
重新加载tableview。您可能希望将所选行索引存储在NSUserDefaults
或其他位置,以便在视图加载/外观之间保持选择。
确保在表视图重新加载后使用适当的委托方法将其设置为。再一次,没有任何代码可以看,很难看出你在做什么 - 以及哪个顺序 - 这是一个例子(Swift):
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
if indexPath.row == tableView.numberOfRowsInSection(0) - 1 {
cell.selected = true
}
}
或者,您可以直接在数据源中设置selected属性,然后执行以下操作:
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
datasource[indexPath.row].selected == true {
cell.selected = true
}
}
如果你这样做,那么每次加载tableview时都会正确设置所选行。
(完全披露,我不是Xamarin开发者,所以我不确定那些从Swift / Obj-C转换为Xamarin的方式)