繁体   English   中英

Swift TableView传递所选单元格

[英]Swift TableView pass selected Cell

我有两个TablewViewControllers :一个ListTableViewController ,它保存我的项目列表,另一个SortTableViewController ,用于存储SortTableViewController排序选项。 我需要找到一种方法在SortTableViewController SortTableViewController时突出显示活动的(如果用户单击了排序选项)排序选项( Cell )。有什么想法可以做到这一点?

屏幕截图

你可以试试这个

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
    }
}

如果需要保留排序选择,则可以尝试此操作。 使用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")
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM