視圖如何調(diào)用本視圖的控制器

視圖如何調(diào)用本視圖的控制器

有以下幾種方法

  • 第一種方法在這個自定義的UIVIew設(shè)置一個delegate,指向 A,然后在按鈕事件使用delegate讓A執(zhí)行方法跳轉(zhuǎn)B
    在這個自定義的UIVIew—>B
    B所載的界面—>A
    在A里面定義一個算法如下:
-(void)changeInterface:(NSString *)interfacename{  
       Class  class = NSClassFromString(interfacename); 
       UIViewController *con =[[class alloc] init]; 
       if (con == self) { 
       return ; 
        } 
        [self.navigationController pushViewController:con animated:YES];
}

在點(diǎn)擊事件發(fā)生的同時傳遞一個指針過去,例如:

pop.delegate = self;

在B視圖中實(shí)現(xiàn)跳轉(zhuǎn)

[_delegate changeInterface:@"ClassifyViewController"];
  • 第二種方法
    也可以發(fā)通知給UIViewController A去跳轉(zhuǎn)到B

  • 第三種方法
    建立一個UIView的擴(kuò)展
    UIView+Extent.h文件

#import <UIKit/UIKit.h>                                     
 @interface UIView (Extent)
-(UIViewController *)viewController;
@end

UIView+Extent.h文件

#import "UIView+Extent.h"
@implementation UIView (Extent)
-(UIViewController*)viewController {
       for (UIView* next = [self superview]; next;next = next.superview) { 
       UIResponder* nextResponder = [next nextResponder]; 
       if ([nextResponder isKindOfClass:[UIViewController class]]) { 
       return (UIViewController*)nextResponder; 
} 
}
        return nil;
}
@end
  • 第四種方法
//取出根視圖控制器
UITabBarController *tabBarVc = (UITabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
//取出當(dāng)前選中的導(dǎo)航控制器
UINavigationController *Nav = [tabBarVc selectedViewController];
[Nav pushViewController:topDetailView animated:YES];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 前言的前言 唐巧前輩在微信公眾號「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各項(xiàng)指標(biāo)...
    VincentHK閱讀 5,580評論 3 44
  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多,會對里面所有的內(nèi)容的引用計(jì)數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,738評論 1 14
  • 1.自定義控件 a.繼承某個控件 b.重寫initWithFrame方法可以設(shè)置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,707評論 2 4
  • 如果貧窮,無為的人生是我必須經(jīng)歷的! 如果漂泊,流浪注定是我一生要走的路! 我想上天也一定會有對我仁慈的時候。 對...
    印子尋閱讀 198評論 0 0
  • 我是在求學(xué)時參加學(xué)校長跑訓(xùn)練隊(duì)時學(xué)會長跑的。那時每天下午準(zhǔn)時在體育老師帶領(lǐng)下,全校長跑訓(xùn)練隊(duì)集合起跑,一跑就是五公...
    冬日暖陽0115閱讀 377評論 0 1

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