View推出Controller

工作中很多時候會遇到在自定義的view中, 需要推出controller, 就留意總結了一些方法

. 比如

1.代理 初學者常用的方式, 缺點是太麻煩, 代碼多
2.通知 類似代理
3.獲取view所在的controller
4.其他

在需要跳轉的view中自定義方法

- (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; }

調用這個方法可以獲得view所在的controller

//使用方法:
[[self viewController].navigationController pushViewController:[yourViewController new]animated:YES];

這里[self viewController]相當于controller中的self,后面的用push 或者present就看具體情況了,又或者用segue推出

[[self viewController] performSegueWithIdentifier:@"xxxxxxSegue" sender:nil];
用segue,別忘記view所在的controller得向其他的controller拉線

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

推薦閱讀更多精彩內容