美文网首页互联网科技iOS开发攻城狮的集散地
OC/swift tableViewCell自定义按钮点击pu

OC/swift tableViewCell自定义按钮点击pu

作者: 走在路上的小二 | 来源:发表于2016-11-23 12:15 被阅读183次

    之前用OC自定义UITableVeiwCell 上面的Button的时候 ,当点击Button 的时候也出现过这个问题 ,即 点击buttonpush 3次 或者多次到同一个页面,当时的解决方法是 在UITableViewCell ​的prepareForReuse() 方法里面 将 button 置 nil ,

    例如  自定义的button 名字是  deleteButton

    void  prepareForReuse()

    {

    self.deleteButton = nil​

    }

    这样就可以解决多次push问题.

    现在发现在Swift里面用这个方法无法解决,说明swift 更加严谨了,更注重规范性

    最后找到解决方法是这样的

    先遵守UINavigationControllerDelegate​协议 ,然后成为代理

    self.navigationControlelr.delegate =  self​

    // 记录push标志

    var ​isPushing = false

    //重写协议方法

    // MARK:UINavigationControllerDelegate

    func navigationController(_navigationController: UINavigationController, didShowviewController: UIViewController, animated: Bool){

       self.pushing = false

    }

    然后再你需要push 的地方判断

    if self.pushing{

       return   //被拦截

    } else {  // push 控制器​

      self.pushing = true

      self.navigationController!.pushViewController(viewController,animated: true)

    }​

    这样就可以解决了,有什么问题欢迎留言。

    相关文章

      网友评论

        本文标题: OC/swift tableViewCell自定义按钮点击pu

        本文链接:https://www.haomeiwen.com/subject/pyfvpttx.html