Delegate代理

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

比如,自定義一個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來顯示大圖。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,206評論 4 61
  • //聯系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄 一、UITableView的delegate實現:...
    石虎132閱讀 4,148評論 1 8
  • 估計很多人看到標題就會開炸。 鉆石等于愛情。多少年已經根深蒂固的觀念。鉆石是至今為止人類所探知最堅硬的天然物質,常...
    Doctor徐閱讀 904評論 3 0
  • 我們生活的這個世界越來越像是一個徹底的大市場,而我們每個人都生活在價值交換和價值集群之中,這其實是每一個人的本能。...
    俞燕文閱讀 202評論 0 0
  • 小巷/又彎又長/沒有門,沒有窗/我拿著一把舊鑰匙/敲著厚厚的墻 ——顧城 記得高中時,總喜歡去一個隱藏在小巷深...
    阮君欞閱讀 651評論 0 4