在view里面跳转控制器

今天写代码的时候遇到个问题记录一下,

先说需求:自定义了一个CustomView,里面添加了个button,然后在一个控制器里,添加若干个CustomView,然后点击每个CustomView里的button跳转到不同的控制器上。

问题:本来想用代理来实现,但是我只会把控制器中每个CustomView里的button都跳转到一个控制器上

本人代理学的不是很好,又由于时间紧,用了其他方法


解决:1.把CustomView的button成员变量暴露在.h文件里面,然后在控制器中使用 [CustomView.button addTarget:selfaction:@selector(ButtonClick)forControlEvents:UIControlEventTouchUpInside]; 

在这里就要用到在view里拿到其所在的控制器的方法了:

- (UIViewController*)viewController {

for(UIView* next = [selfsuperview]; next; next = next.superview) {

UIResponder*nextResponder = [nextnextResponder];

if([nextResponderisKindOfClass:[UIViewControllerclass]]) {

return(UIViewController*)nextResponder;

}

}

returnnil;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • { 11、核心动画 需要签协议,但是系统帮签好 一、CABasicAnimation 1、创建基础动画对象 CAB...
    CYC666阅读 1,610评论 2 4
  • 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标...
    VincentHK阅读 5,467评论 3 44
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,457评论 25 709
  • 过马路时我们看绿灯亮了,就证明安全了,其实并不是安全的,因为还有拐弯的车,人生和红绿灯一样,我们要时刻要警惕,要有...
    慧雅梅子阅读 211评论 0 0
  • 五一小长假,春光明媚、天气晴朗、受秀莲阿姨的盛情邀请我们一家人一起到风光秀丽、景色怡人、古色古香的杭坪东岭古村游...
    寒松幽草阅读 372评论 0 1