UIImageView 作为我的 UIViewController 类中 UIView 的子视图

Posted

技术标签:

【中文标题】UIImageView 作为我的 UIViewController 类中 UIView 的子视图【英文标题】:UIImageView as a SubView of UIView in my UIViewController Class 【发布时间】:2016-08-25 17:28:05 【问题描述】:

我有一个UIViewController,我在其中添加了一个UIView。在那UIView我通过编程添加了一些UIImageViews。我需要的是,当我单击图像时,它会以新的UIViewController 显示。

ViewController : UIViewController 
    myUIview[[imageview]  [ ]  [  ]  [  ]  [  ] ]

【问题讨论】:

在 UIView 类中创建委托协议,如果您单击图像发送信息以委托(您的 UIViewController)并做任何您想做的事情 能否通过代码解释一下。 【参考方案1】:

如果我理解正确,当您的用户按下 UIImageView 时,您希望切换到另一个 ViewController。所以这是我使用 UITapGestureRecognizer 的解决方案(将此代码放在 viewDidLoad 中):

yourImageView.isUserInteractionEnabled = true
let yourImageTapGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.test(_ :)))
yourImageTapGesture.delegate = self
yourImageTapGesture.numberOfTapsRequired = 1
yourImageView.addGestureRecognizer(yourImageTapGesture)

然后在你的 ViewController 中你必须进行功能测试,当有人点击你的 UIImageView 时触发:

func test(_ sender: AnyObject) 
    self.performSegue(withIdentifier: "YourSegueName",sender: self)

重要提示:“YourSegueName”是故事板中 Segue 的标识符。你可以通过点击你的 Segue 来设置它:

请记住,您的 ViewController 需要从另一个类继承:

class ViewController: UIViewController, UIGestureRecognizerDelegate ...

【讨论】:

非常感谢您的解释,但您误解了一部分。我的 uiview 中有多个图像视图。所以我想要的是,当我单击 uiview 中的第一个图像时,图像会显示在新的视图控制器中。请记住,我通过编程制作了 imageViews。 @SaadUllah 我建议您将 UIImageView 与 segue 一起传递。保留我的代码并添加以下内容:***.com/a/25215574/6597361 您的代码是否能够识别我要选择的图像。考虑我的 UIView 中有 4 张图片 添加for image in yourUIImageViewArray ... 之类的内容并在其中添加一个带有正确图像的变量,该图像应传递给其他 VC

以上是关于UIImageView 作为我的 UIViewController 类中 UIView 的子视图的主要内容,如果未能解决你的问题,请参考以下文章

在作为子视图添加的滚动视图中将触摸事件传递给 uiimageview

将 UIImageView 作为参数发送到 WCF 服务

使用 UIImageView 作为 NSMutableDictionary 中的键来查找布尔值

在不使用 IB 的情况下添加 UIImageView 作为 UIViewController 的子视图

我的 UIImageView 的 PNG 图像没有出现,但出现了另一个 PNG 图像

UIImageView 填写 UIView