小编uma*_*151的帖子

UITapGestureRecognizer在多次点击时崩溃

我正在UIImageViewUIScrollView编程方式添加并在imageView上添加点击手势.它恰好识别了4次点击事件,并且在第四次崩溃时没有任何明确的错误消息.这是在名为FeaturedListingDetailVC的控制器中

码:

let frame = CGRect(x: 0, y: 0, width: 128, height: 128)
_iv = UIImageView(frame: frame)
_iv.image = UIImage(named: "no_media")            
_iv.userInteractionEnabled = true

tapGesture = UITapGestureRecognizer(target: self, action: #selector(initImagePopup(_:)))
_iv.addGestureRecognizer(tapGesture)

_iv.widthAnchor.constraintEqualToConstant(CGFloat.init(128)).active = true
_iv.heightAnchor.constraintEqualToConstant(CGFloat.init(128)).active = true
hrScroll.addSubview(_iv)
Run Code Online (Sandbox Code Playgroud)

在Tap上调用的函数:

@objc func initImagePopup(gesture: UITapGestureRecognizer) {
    print("I am tapped!!!")
}
Run Code Online (Sandbox Code Playgroud)

此外,我加载目标viewController (即FeaturedListingDetailVC)的方式确实很重要,但我不知道为什么以及如何.因为当我将目标viewController推入时UINavigationViewController,它会在第一次点击时崩溃,否则当我通过showviewController初始化目标VC时,它会在第4次点击时崩溃.

使用以下代码初始化时第一次点击时崩溃:

let storyboard = UIStoryboard(name: "Post", bundle: nil)
let featuredVC = storyboard.instantiateViewControllerWithIdentifier("FeaturedListingDetailVC") as! FeaturedListingDetailVC
self.vc?.navigationController!.pushViewController(featuredVC, animated: true)
Run Code Online (Sandbox Code Playgroud)

使用以下代码初始化时,第4次崩溃时崩溃:

let storyboard = …
Run Code Online (Sandbox Code Playgroud)

ios uitapgesturerecognizer swift

6
推荐指数
1
解决办法
578
查看次数

在 Swift 中将静态方法设置为 UITapGestureRecognizer 的操作

我正在以UIView编程方式在静态方法中创建一个,并希望添加UITapGestureRecognizer它将在我的Helper类中调用另一个静态方法。

Helper.swift

static func showLoadingPopUp(frame: CGRect) -> UIView {
  let transView = UIView.init(frame: frame!)       
  let tapGesture = UITapGestureRecognizer(target: self, action: "transViewTapped:")
  transView.addGestureRecognizer(tapGesture)
  return transView
}

static func transViewTapped(gesture: UITapGestureRecognizer) {
  print("Oh Tapped!!!")
}
Run Code Online (Sandbox Code Playgroud)

但它最终得到以下消息,可能是因为我的方法的静态性质。也是Helper.swift简单的 swift 类(不是UIViewUIViewController

错误:

无法识别的选择器 +[JaClassified.Helper transViewTapped:]

ios swift

5
推荐指数
1
解决办法
1230
查看次数

UIImage to PHAsset

我试图转换UIImagePHAsset但找不到任何解决方案.所有我发现是反之亦然(即PHAssetUIImage).

方案是,我从自定义目录中取出图像PHAssetCollection并显示在其中UICollectionView.我还希望在前面的屏幕中包含更多来自远程源的图像.我不想将远程图像保存到我的目录中,但希望将它们包含在我的目录中UICollectionView.

请建议我解决方案或一些好的替代方案,以便UICollectionView相同的来源(即PHAssetCollection)

uiimage ios swift photosframework

5
推荐指数
1
解决办法
4044
查看次数