【发布时间】:2018-05-08 14:42:10
【问题描述】:
我是 IOS 新手,目前正在学习 IDE。我想知道是否可以在单击时将 imageView 链接到 View Controller
【问题讨论】:
-
请看一下stackoverflow.com/questions/36277208/…,因为它非常相似。 gl
标签: ios swift uiviewcontroller uiimageview
我是 IOS 新手,目前正在学习 IDE。我想知道是否可以在单击时将 imageView 链接到 View Controller
【问题讨论】:
标签: ios swift uiviewcontroller uiimageview
当然。首先,在您的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(...)
}
【讨论】:
是的。有可能的。您需要在图像视图中添加一个点击手势识别器,并在函数中执行 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: "")
}
【讨论】:
是的。您可以将点击手势识别器绑定到您的图像视图。您可以在how to do it programmatically上的上一个答案中点击此链接
您可以在界面构建器中完全做到这一点,方法是在 ImageView 上放置一个具有透明背景且没有文本的 UIButton,然后控制将按钮拖动到您想要触发 segue 的视图控制器。
【讨论】:
当然是。您应该向 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
}
【讨论】:
添加手势,如果你想动画它then see this pod
【讨论】: