在演示过程中尝试在 <**> 上演示 <**>。使用 swift 从一个视图控制器执行到另一个视图控制器的 segue 时
Attempting to present <**> on <**> while a presentation is in progress. While performing a segue from one view controller to another using swift
override func viewDidAppear(animated: Bool) {
view.userInteractionEnabled = true
let pinchGesture:UIPinchGestureRecognizer = UIPinchGestureRecognizer(target: self, action: "pinchGesture")
view.addGestureRecognizer(pinchGesture)
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
view.addGestureRecognizer(tap)
}
func dismissKeyboard() {
view.endEditing(true)
}
func pinchGesture(){
self.performSegueWithIdentifier("trick1Segue", sender: self)
}
在我的 iOS 应用中,我想在屏幕上执行捏合手势时转换到不同的视图控制器。
点击手势是在键盘区域外点击时关闭键盘
当 运行 应用程序时,我收到一条错误消息:
"Attempting to present < ** > on < ** > while a presentation is in progress"
新的view controller出现了但是打开了两次,时间差很短。查了很多博客都没找到解决办法,求助!!!
问题是pinchGesture
可以调用多次。您应该在 viewController 中添加 属性 以跟踪您已经对捏合手势采取行动的事实:
var segueInProcess = false
func pinchGesture() {
if !segueInProcess {
self.performSegueWithIdentifier("trick1Segue", sender: self)
segueInProcess = true
}
}
手势识别器被多次调用,状态不同。您可以做的是检查 pinchGesture()
中 UIPinchGestureRecognizer
的 state
属性。
override func viewDidAppear(animated: Bool) {
view.userInteractionEnabled = true
let pinchGesture:UIPinchGestureRecognizer = UIPinchGestureRecognizer(target: self, action: "pinchGesture")
view.addGestureRecognizer(pinchGesture)
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "dismissKeyboard")
view.addGestureRecognizer(tap)
}
func dismissKeyboard() {
view.endEditing(true)
}
func pinchGesture(){
self.performSegueWithIdentifier("trick1Segue", sender: self)
}
在我的 iOS 应用中,我想在屏幕上执行捏合手势时转换到不同的视图控制器。 点击手势是在键盘区域外点击时关闭键盘
当 运行 应用程序时,我收到一条错误消息:
"Attempting to present < ** > on < ** > while a presentation is in progress"
新的view controller出现了但是打开了两次,时间差很短。查了很多博客都没找到解决办法,求助!!!
问题是pinchGesture
可以调用多次。您应该在 viewController 中添加 属性 以跟踪您已经对捏合手势采取行动的事实:
var segueInProcess = false
func pinchGesture() {
if !segueInProcess {
self.performSegueWithIdentifier("trick1Segue", sender: self)
segueInProcess = true
}
}
手势识别器被多次调用,状态不同。您可以做的是检查 pinchGesture()
中 UIPinchGestureRecognizer
的 state
属性。