Delegate代理

作者: 盈盈一水不得语 | 来源:发表于2016-11-24 13:03 被阅读0次

    我理解的代理就是我想做一件事,但是这件事在我的管理范围外,那我就拜托能管理操作这件事的人来做。

    比如,自定义一个cell,在cell上放一张图片,当我点击图片的时候想把图片放大。放大的图片用其他的viewController来显示,这就要navigationController来push。而我自定义的cell没有navigationController,所以这个cell不能push一个viewController来显示大图。但是,放自定义cell的这个TableView所在的viewController有navigationController,cell就可以拜托这个viewController来push一个viewController来显示大图。

    具体来说一下:

    在自定义的cell上添加UIButton ,给其一个点击事件 bigImage:

    点击事件要的效果是放大一张图片,如上所说,cell完成不了,就拜托TableView来执行。重点来了,怎么拜托呢?流程是啥?

    首先,列清单:

    RepairsServeCellDeleagte------清单名称

    - (void)pushBigImageWithUrl:(NSString *)urlStr;-----------要执行的事

    来一个delegate中间接洽

    然后拜托TableView,TableView表示收到。

    在点击事件中,self.delegate执行的 pushBigImageWithUrl: 

    在TableView中

    划红线的地方写在cellForRowAtIndexPath方法里

    这就表示 TableView要执行pushBigImageWithUrl: 这个方法,so,现在就在TableView所在的viewController中实现这个方法。

    MWPhotoBrowser继承自UIViewController

    TableView利用自己所在viewController的navigationController顺利push出一个viewController来显示大图。

    相关文章

      网友评论

        本文标题:Delegate代理

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