【问题标题】:Is is possible to click an imageView and open a new View Controller?是否可以单击 imageView 并打开一个新的 View Controller?
【发布时间】:2018-05-08 14:42:10
【问题描述】:

我是 IOS 新手,目前正在学习 IDE。我想知道是否可以在单击时将 imageView 链接到 View Controller

【问题讨论】:

标签: ios swift uiviewcontroller uiimageview


【解决方案1】:

当然。首先,在您的UIViewController 中的viewDidLoad 中使其可点击:

imageView.isUserInteractionEnabled = true

然后分配手势识别器:

imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.imageTap)))

一旦触发动作,执行到新 VC 的转换:

// Func in your UIViewController
@objc func imageTap() {
    // present modally
    self.present(YourNewViewController())
    // or push to the navigation stack
    self.navigationController?.push(YourNewViewController())
    // or perform segue if you use storyboards
    self.preformSegue(...)
}

【讨论】:

    【解决方案2】:

    是的。有可能的。您需要在图像视图中添加一个点击手势识别器,并在函数中执行 segue。

    SWIFT 4

    let singleTap = UITapGestureRecognizer(target: self,action:Selector(“imageTapped”))
    yourImageView.isUserInteractionEnabled = true
    yourImageView.addGestureRecognizer(singleTap)
    

    Tap 处理函数:

    @objc func imageTapped() {
        performSegue(withIdentifier: "yourNextScreen", sender: "")
    }
    

    【讨论】:

      【解决方案3】:

      是的。您可以将点击手势识别器绑定到您的图像视图。您可以在how to do it programmatically上的上一个答案中点击此链接

      您可以在界面构建器中完全做到这一点,方法是在 ImageView 上放置一个具有透明背景且没有文本的 UIButton,然后控制将按钮拖动到您想要触发 segue 的视图控制器。

      【讨论】:

        【解决方案4】:

        当然是。您应该向 UIImageView 添加一个 UITapGestureRecognizer 并添加一个选择器以触发推送新的 viewcontroller 方法。

        例如;

        @IBOutlet weak var imageView: UIImageView! {
            didSet {
                let imageTapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped))
                imageView.addGestureRecognizer(imageTapGestureRecognizer)
                imageView.isUserInteractionEnabled = true
            }
        }
        
        func imageTapped() {
            //navigate to another view controller
        }
        

        【讨论】:

        • 好的,我是在选择器中添加视图控制器方法还是在单击图像的函数中添加视图控制器方法
        • 是的,您应该将导航代码添加到 imageTapped()
        【解决方案5】:

        添加手势,如果你想动画它then see this pod

        【讨论】:

        • 这个问题已经过时了
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多