我有两个TablewViewControllers
:ListTableViewController
,其中包含我的项目列表和SortTableViewController
,其中我存储了ListTableView的排序选项。我需要找到一种方法来突出显示活动(如果用户单击一个排序选项)排序选项(Cell
)SortTableViewController
loads.Any想法如何做到这一点?
答案 0 :(得分:0)
你可以尝试这个
class SortTableViewController: UITableViewController {
var highlightedIndexPath: NSIndexPath? //TODO: populate this
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = //TODO: populate this
cell.textLabel?.textColor = indexPath == highlightedIndexPath ? .redColor() : .blackColor()
return cell
}
}
答案 1 :(得分:0)
如果您需要保留排序选项,可以试试这个。 使用NSUserDefaults存储选定的行索引(假设您的排序选项列表已修复)
class SortTableViewController : UITableViewController {
let selectedRowIdx = NSUserDefaults.standardUserDefaults().integerForKey("PLACE_YOUR_KEY_HERE")
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = // your implementation here
if indexPath.row == selectedRowIdx {
cell.textLabel?.textColor = UIColor.redColor()
}
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
NSUserDefaults.standardUserDefaults().setInteger(indexPath.row, forKey: "PLACE_YOUR_KEY_HERE")
}
}