微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift开发笔记22 在表格的单元格中实现条件跳转

如上图所示,在表格的单元格中有个五角星按钮,有选中和未选中两种状态,当选中时要跳转到写评论页面,取消选中则不跳转,那么就需要按条件跳转

如果跳转的话用拖一个segue就可以了,条件跳转如下文所示:http://blog.csdn.net/baixiaozhe/article/details/50854415

问题是这个按钮的处理事件写在单元格类中:RewardButtonTableViewCell: UITableViewCell

而UITableViewCell 不是一个viewcontroller,没有performSegueWithIdentifier方法,单元格的父容器UITableViewController,他有performSegueWithIdentifier,那么需要在单元格类中获取父容器,有人用UITableViewCell.superview.superview获取UITableView的方式获取,亲测不行,只好用土办法.

在单元格类中加一个属性,即父容器的引用:parentView

class RewardButtonTableViewCell: UITableViewCell {

weakvar parentView:UITableViewController?

// 五角星按钮的点击事件处理函数

@IBAction func rewardAction(sender: AnyObject) {

parentView?.performSegueWithIdentifier("addRewardComm",sender: self)

}

}

父容器UITableViewController的override func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath)中,给单元格的类属性赋值:

let cell = tableView.dequeueReusableCellWithIdentifier("RewardCell",forIndexPath: indexPath) as! RewardButtonTableViewCell

cell.parentView=self


然后就可以在单元格里控制跳转了。。。。。。

原文地址:https://www.jb51.cc/swift/324333.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐