iOS 在View中直接用所在的ViewController對象

在平時的開發(fā)中經(jīng)常會遇到在自定義的某個View中要使用ViewController對象做一些跳轉(zhuǎn)處理,通常會采用Delegate 或者 block 。現(xiàn)在總結(jié)一個新的方法,利用事件響應(yīng)鏈原理來獲得當(dāng)前View所在的ViewController。

#import <UIKit/UIKit.h>

@interface UIView (ViewController)

- (UIViewController *)viewController;

@end

#import "UIView+ViewController.h"

@implementation UIView (ViewController)


- (UIViewController *)viewController
{
    UIResponder *next = [self nextResponder];
    
    do {
        if ([next isKindOfClass:[UIViewController class]]) {
            return (UIViewController *)next;
        }
        next = [next nextResponder];
    } while (next != nil);
    return nil;
}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,628評論 30 472
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,188評論 25 708
  • iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中。。。 其實如果沒有APIManager這一層是沒法使用delegate的,畢竟多個單...
    yhtang閱讀 5,493評論 1 23
  • 當(dāng)我喜歡一首歌的時候我會單曲循環(huán),同樣,喜歡一個人的時候也是忠貞不二。 我很喜歡信樂團(tuán)的《假如》,有一句歌詞很有意...
    余遙天閱讀 294評論 0 0
  • 有一種神奇的人叫「大表哥」 「你怎么抓到它的 ?」「是這樣,我正拿著在路上啃著,突然看到旁邊小溪里有個像一樣的東西...
    嵐風(fēng)的葉子閱讀 226評論 0 0

友情鏈接更多精彩內(nèi)容