繁体   English   中英

如何在iOS中停止摇动手势?

[英]How to stop shake gesture in iOS?

我正在使用摇动手势在应用中创建新帖子。 如何在入职屏幕期间停止摇动手势?

override func motionEnded(_ motion: UIEventSubtype,
                              with event: UIEvent?) {
    if motion == .motionShake {
        if self.revealtype == "opened" {
            self.revealViewController().revealToggle(self)
        } 

        datearray.removeAll()

        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "dd-MM-yyyy"
        let monthdate = dateFormatter.string(from: NSDate() as Date)

        datearray.append(monthdate)
        selectnsdate  = Date()
        print("success")

        let ivc = self.storyboard!.instantiateViewController(withIdentifier: "selectpost") as? SelectPost
        ivc?.shake = true
        self.navigationController!.pushViewController(ivc!, animated: true)
    }
}

您可以在viewWillAppear上添加摇动手势,并在viewDidDisappear viewController的方法上删除手势。 因此,当您按下另一个视图控制器时,不会触发摇动手势。

通过在入职视图控制器中实现以下内容,只需吞入motionShake事件即可实现此目的:

override func motionEnded(_ motion: UIEventSubtype,
                         withEvent: UIEvent?) {
    if motion != .motionShake {
        super.motionEnded(motion, withEvent: withEvent)
    }
}

motionEnded的文档指出“此方法的默认实现将消息转发到响应者链上。”)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM