【问题标题】:Swift 2 - Click on Image to load a new ViewControllerSwift 2 - 单击图像以加载新的 ViewController
【发布时间】:2016-03-29 06:42:44
【问题描述】:

我对 Xcode (Swift2) 完全陌生。

我想要实现的是,当我单击main.storyboard 上的图像时,我想打开一个新的视图控制器或将其指向一个新的视图控制器。我该怎么做?

例如,我可以通过拖动按钮(Ctrl+右键单击)并在设计时将其指向新的视图控制器来执行此操作,效果很好,但我想在触摸/点击时执行此操作运行时的图像。

【问题讨论】:

    标签: swift2 viewcontroller gesture tap


    【解决方案1】:
    image.userInteractionEnabled = true
    
    let tapRecog = UITapGestureRecognizer(target: self, action: "imgTap:")
    image.addGestureRecognizer(tapRecog)
    
    func imgTap(gestureRecognizer: UITapGestureRecognizer) 
    {
        let tapImg = gestureRecognizer.view!
    
        let secondViewController = self.storyboard!.instantiateViewControllerWithIdentifier("NewViewController") as! NewViewController
        secondViewController.DisplayImg = tapImg  //NewViewController create DisplayImg UIImageView object
        self.navigationController!.pushViewController(secondViewController, animated: true)
    }
    

    【讨论】:

    • 谢谢@Jayesh。我在哪里添加前 3 行?同样在函数imgTap中,导航到特定视图控制器的代码是什么。
    • 加入viewDidLoad()
    • 谢谢@Jayesh。什么代码让tapImg=gestureRecognizer.view!做?您能否也与我分享导航到另一个视图的代码。
    • 谢谢@Jayesh。这正是我正在寻找的。我将尝试代码。
    • 这一行出现错误:secondViewController.DisplayImg = tapImg “InfoView”类型的值没有成员“DisplayImg”。我之前有这行:let secondViewController = self.storyboard!.instantiateViewControllerWithIdentifier("InfoView") as!信息视图
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 2018-12-16
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 2012-11-04
    相关资源
    最近更新 更多