简单的问题,我目前在如何开始时遇到麻烦。
我有一个带有多个图像/图标的ViewController,我想为每个选中的图像/图标设置新的视图控制器。我有一个segue(show)从我的初始视图控制器到我的新视图...但现在我如何编码它所以当我点击一个特定的图像时它会转到我想要的相应VC?
提前致谢!
答案 0 :(得分:1)
如果您的所有图像/链接都转到一种ViewController,您可以在界面构建器中将它与segue链接,这样您只需使用-performSegueWithIdentifier
并将其与您的ViewController对应的数据或模型一起播种。
要获取触摸事件并进行处理,您可以使用委托方法,每个子视图在触摸事件捕获时调用其委托。假设下面的代码更好的想象力:
//Added in initiation of SubView
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureUpdated)];
//This function will be fired when gesture recognized
- (void)tapGestureUpdated {
if ([self.tapDelegate respondsToSelector:@selector(onItemTapped:)]) {
[self.tapDelegate onItemTapped:self.item];
}
}
但如果您要向不同类型的ViewControllers展示,那么您应该添加segue和ViewControllers。
Superview将调用下一个ViewController:
[self performSegueWithIdentifier:@"showNextViewControllerSegue" sender:self];
所以有这样的事件链来处理它:
UITapGestureRecognizer - >您的子视图 - >称它为代表 (SuperView) - >根据subView的类型调用next segue。