我將UIPinchGestureRecognizer
添加到顯示圖像的scrollView中。 捏,我提出一個新的看法。UIPinchGestureRecognizer正在兩次觸發
var pinch = UIPinchGestureRecognizer(target: self, action: "showFullScreen:")
self.scrollView.addGestureRecognizer(pinch)
的showFullScreen
功能:
func showFullScreen(sender:UITapGestureRecognizer) {
presentViewController(photoBro, animated: true, completion: nil)
}
但是,當我掐上滾動視圖,showFullScreen
被稱爲兩次,因爲它的下面的錯誤出現:
終止應用程序由於未捕獲的異常' NSInvalidArgumentException',原因:'應用程序試圖以模態方式呈現活動控制器
我正在尋找解決方案,他們建議刪除pinchGesture,但我想保留gestureRecognizer,這樣用戶仍然可以捏合進入全屏。
我該怎麼做才能確保showFullScreen
僅被稱爲一次捏?
手勢識別有狀態(如開始,感動),你應該以不同的方式對待每個狀態。對於捏,你可能會檢查sender.state是否被識別,然後運行你的代碼。 – Erakk
比較手勢的狀態,並且只在當gesture.state = UIGestureRecognizerState.Ended時執行當前視圖控制器 –