view中跳轉控制器

通常情況一般都是由view中的觸發(fā)者(button)之類的事件,觸發(fā)block,在控制器中處理。但是其實是可以在view中處理控制器跳轉的。
在controller不需要回傳數(shù)據(jù)的時候,可以在view中這樣寫,能夠減少控制器中的代碼。
大概思路:點擊控件始終是加載在控制器上的,不斷取superview,取到控制器時,這個控制器就是我們事件的響應者。

/// 處理事件

- (void)tapAction {
    SearchDestinationVC *controller = [[SearchDestinationVC alloc]init];
    controller.hidesBottomBarWhenPushed = YES ;
    //通過找到的控制器進行跳轉
    [[self viewController].navigationController pushViewController:controller animated:YES] ;
    
}

找到view的控制器:返回view所加載在的控制器

///  找到view的控制器:返回view所加載在的控制器
- (UIViewController *)viewController {
    for (UIView * superView = [self superview]; superView; superView = superView.superview) {
        UIResponder *nextResponder = [superView nextResponder];
        if ([nextResponder isKindOfClass:[UIViewController class]]) {
            return (UIViewController *)nextResponder;
        }
    }
    return nil;
}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,174評論 25 708
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,426評論 4 61
  • 何為美人呢,容貌勝出一籌。想來必定是集萬千寵愛與一身,幸福安穩(wěn)的度過一生吧,就算有所波折,也必定比常人幸福。奇...
    ID發(fā)芽閱讀 223評論 0 1
  • 到最后,拼的全是實力 ...
    木易楊1212閱讀 249評論 0 0

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