gpt4 book ai didi

ios - UIImageView 上的点击手势

转载 作者:行者123 更新时间:2023-11-29 01:41:52 24 4
gpt4 key购买 nike

当 UIImageView 上没有图像时,此代码总是崩溃。

设置水龙头。

if imageView.gestureRecognizers == nil || imageView.gestureRecognizers!.count == 0 {
let gestureRecognizer = UITapGestureRecognizer(target: self, action: "fullImage:")
imageView.addGestureRecognizer(gestureRecognizer)
}

然后,使用照片浏览器。

func fullImage(sender: AnyObject) {
let attachedView = sender.view!!.superview!
let images = attachedView.subviews.map{ ($0 as! UIImageView).image! }
let imageView = (sender as! UIGestureRecognizer).view! as! UIImageView
let tag = imageView.tag

let photos = IDMPhoto.photosWithImages(images)
let browser = IDMPhotoBrowser(photos: photos, animatedFromView: (sender as! UIGestureRecognizer).view!)
browser.displayToolbar = false
browser.displayActionButton = false
browser.displayArrowButton = false
browser.displayCounterLabel = true
browser.scaleImage = imageView.image
browser.usePopAnimation = true
browser.setInitialPageIndex(UInt(tag - 1))
...

有什么好的方法可以避免nil crash吗?

最佳答案

试试这个:

let images = attachedView.subviews.map{ ($0 as? UIImageView).image }.filter { $0 != nil }

这样,如果 subview 不是 UIImageView,您的代码就不会崩溃,并且您可以过滤掉返回 nil 的 subview 。

关于ios - UIImageView 上的点击手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32306819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com