ios - Xcode - 从 UIImageView 到新的 ViewController

标签 ios xcode swift uiviewcontroller segue

我目前在如何开始方面遇到困难的简单问题。

我有一个包含多个图像/图标的 ViewController,我想为每个选定的图像/图标设置新的 View Controller 。我有一个从我的初始 View Controller 到我的新 View Controller 的 segue(显示)...但是现在我如何编码它以便当我单击特定图像时它会 segue 到我想要的相应 VC?

提前致谢!

最佳答案

如果您所有的图像/链接都转到一种 ViewController,您可以在界面构建器中将其与 segue 链接,因此您只需使用 -performSegueWithIdentifier 并将其与您的数据或模型对应到您的 ViewController。

要获取触摸事件并进行处理,您可以使用委托(delegate)方法,每个 subview 在捕获触摸事件时调用它们的委托(delegate)。假设以下代码以获得更好的想象力:

    //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];
    }
}

但如果您要向不同类型的 ViewController 展示,则应为每种类型添加 segue 和 ViewController。

Superview 将像这样调用下一个 ViewController:

[self performSegueWithIdentifier:@"showNextViewControllerSegue" sender:self];

所以有这样的事件链来处理它:

UITapGestureRecognizer -> Your SubView -> Call it's delegate (SuperView) -> Call next segue according to subView's type.

关于ios - Xcode - 从 UIImageView 到新的 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32926086/

相关文章:

swift NSNumberFormatter

ios - 在我的应用程序上显示错误的启动图像。尝试以多种方式替换它

c++ - 在 iOS 模拟器 : Linking with Unix Conformance Layer 中使用库

ios - NSURLSession 优先级

ruby - Interface Builder 看不到 MacRuby 的 socket

iphone - 保留用户自定义的选项卡栏项目

ios - 如何访问 '(String, JSON)' 中的 JSON

ios - 如何在不调用 textViewDidChangeSelection 的情况下设置 NSAttributedString 属性?

ios - 从 MKMapView 中绘制的路线测量距离(以米为单位)

ios - NSLog/OSLog 间歇性地出现在控制台中