在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;

}

你可能感兴趣的:(在view里面跳转控制器)