由一個View(TableviewCell) push 到一個viewController

由于UIView沒有navigationController屬性,所以不能直接push操作

這里介紹兩種解決方案,第一種是常用的block:

1.在UIView的.h文件中定義一個bock屬性:@property (nonatomic, copy)void(^MoreSearchblock)();

2.在UIView的.m文件的要push操作的方法中執(zhí)行block:self.MoreSearchblock();

3.在這個view所在的controller中展開block:

__block typeof(self) weakSelf = self;//block防止循環(huán)引用

_searchDefultView.MoreSearchblock = ^{

/**

*? 這里聲明所要push的頁面(Mycontroller)

*/

[weakSelf.navigationController pushViewController:Mycontroller animated:YES];

};

第二種方法是直接在UIView中找到他所在的父視圖控制器,通過父視圖來執(zhí)行push操作:

id object = [self nextResponder];

while (![object isKindOfClass:[UIViewController class]] && object != nil) {

object = [object nextResponder];

}

UIViewController *superController = (UIViewController*)object;

/**

*? 這里聲明所要push的頁面(Mycontroller)

*/

[superController.navigationController pushViewController:Mycontroller animated:YES];

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

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

  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多,會對里面所有的內(nèi)容的引用計數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,734評論 1 14
  • 1、禁止手機睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa閱讀 1,211評論 1 6
  • 1.自定義控件 a.繼承某個控件 b.重寫initWithFrame方法可以設置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,704評論 2 4
  • 臨睡之前,不經(jīng)意間看到貼在墻上的這些歪歪扭扭的字,竟有些莫名的感動,若有所思,于是打著手電筒拍了下來,想留下這美好...
    媒人2016閱讀 231評論 0 0
  • 滿紙荒唐撰紅樓,辛酸淚灑九曲終。 世人莫笑雪芹癡,其中滋味誰人懂。 一個是閬苑仙葩,一個是美玉無瑕,不知是有...
    落花_微雨閱讀 338評論 2 2

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