如何在多个视图之间移动时选择行

时间:2017-08-25 05:23:00

标签: ios uitableview xamarin.ios

我正在研究xamarin.ios。我的视图中有一个UITableView控件。我在其中选择一行,然后移动到下一个屏幕。如果我再次回到UITableView屏幕,则所选行不会突出显示。它突出显示一秒钟,然后自动取消选择。如果我回到tableview,如何管理,应突出显示所选行。

1 个答案:

答案 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的方式)