在initWithCoder中添加时,Swift UIGestureRecognizer无法正常工作

时间:2015-07-14 06:47:37

标签: ios swift uigesturerecognizer

我有一个自定义的UIView子类,其中的UI是用xib设计的。

class MyView: UIView {

    override init(frame: CGRect) {
        super.init(frame: frame)
        loadView()
        commonInit()
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        loadView()
        commonInit()
    }

    func commonInit() {
        let rightSwipeRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipe"))
        rightSwipeRecognizer.direction = .Right
        dayInfoView.addGestureRecognizer(rightSwipeRecognizer)
    }

    func swipe() {
        println("swiped")
    }    

    private func loadView() {
        let mainBundle = NSBundle.mainBundle()
        let views = mainBundle.loadNibNamed("MyView", owner: self, options: nil)
        let view = views.first as? UIView
        addSubview(view!)
    }
}

在我的故事板中,我已经为VC添加了一个视图,并确保在该视图上启用了用户交互。结果:无滑动处理

如果我手动添加我的视图,工作正常

override func viewDidLoad() {
    super.viewDidLoad()

    let myView = MyViewframe: CGRectMake(0, 300, 320, 200))
    view.addSubview(myView)
}

我做错了什么?

0 个答案:

没有答案