是否可以单击 imageView 并打开一个新的 View Controller?
Posted
技术标签:
【中文标题】是否可以单击 imageView 并打开一个新的 View Controller?【英文标题】:Is is possible to click an imageView and open a new View Controller? 【发布时间】:2018-05-08 14:42:10 【问题描述】:我是 ios 新手,目前正在学习 IDE。我想知道是否可以在单击时将 imageView 链接到 View Controller
【问题讨论】:
请看一下***.com/questions/36277208/…,因为它非常相似。 gl 【参考方案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
【讨论】:
这个问题已经过时了以上是关于是否可以单击 imageView 并打开一个新的 View Controller?的主要内容,如果未能解决你的问题,请参考以下文章
Android - imageView 可以在屏幕上浮动吗?
带有两个可点击按钮或 ImageView 的 Google 地图 v2 自定义信息窗口