Bad*_*Cat 10 selector ios uitapgesturerecognizer swift
我已经搜索了这个问题的解决方案,但在我的情况下找不到任何似乎可以解决它的问题.我从UITapGestureRecognizer获得了上述异常.
这是简化的代码:
import UIKit;
class ViewController : UIViewController, UIScrollViewDelegate
{
@IBOutlet weak var scrollView:UIScrollView!;
var imageView:UIImageView!;
override func viewDidLoad()
{
super.viewDidLoad();
... set up imageView/scrollView here ...
let doubleTapRecognizer = UITapGestureRecognizer(target: self, action: "onScrollViewDoubleTapped");
doubleTapRecognizer.numberOfTapsRequired = 2;
doubleTapRecognizer.numberOfTouchesRequired = 1;
scrollView.addGestureRecognizer(doubleTapRecognizer);
}
func onScrollViewDoubleTapped(recognizer:UITapGestureRecognizer)
{
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉这段代码有什么问题吗?对我来说似乎都是正确的.我怀疑它与将ViewController指定为scrollView的委托(或反之亦然)有关?但是,ViewController被设置为scrollView的委托.但也许是其他导致这个错误的东西?
Con*_*nor 22
尝试在选择器字符串中添加冒号.
let doubleTapRecognizer = UITapGestureRecognizer(target: self, action: "onScrollViewDoubleTapped:");
Run Code Online (Sandbox Code Playgroud)
正如cabellicar123所提到的,这表明选择器采用了参数.
Swift 4 使用#selector.
let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(didSelectItem(sender:)))
@objc func didSelectItem(sender: AnyObject?) {
print("didSelectItem: \(sender)")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11505 次 |
| 最近记录: |