这是我的问题: 我有一个需要完成的第一个表单,一旦完成就可以访问第二个表单,它是一个从左边滑到我视图的UIView。
当我点击第二个表单的一个文本字段时,视图的位置被重置,我再次在第一个表单上查看。
这是我的滑动代码:
@IBAction func Postulate(sender: AnyObject) {
UIView .animateWithDuration(0.5, animations: { () -> Void in
self.formView.frame = CGRectMake(0, 64, 414, 736)
})
}
如何点击文本字段重置视图?我该如何应对呢?
我试图在点击文本字段时暂停视图,持续时间为0,但它无法正常工作。
答案 0 :(得分:1)
将VC设置为textField委托,然后使用委托方法textFieldBeganEditing或类似的东西来识别用户点击文本字段的时间。
class ClassName:UIViewController, UITextFieldDelegate {
@IBOutlet week var textField: UITextField! {
didSet { textField.delegate = self }
}
func textFieldDidBeginEditing(textField: UITextField){
//user tapped on the textField, do what you wanna do here
}
}
答案 1 :(得分:0)
好吧,最后我找到了一个可以绕过这个的黑客。 我将第二个表单视图的位置设置为0(在视图上),并将隐藏状态设置为true。然后我将它滑到屏幕左侧(隐藏),如下所示:
formView.hidden = true;
UIView .animateWithDuration(0, animations: { () -> Void in
self.formView.frame = CGRectMake(-425, 64, 414, 736)
})
当按下我的表单视图上的按钮时,我将表单视图隐藏状态设置为false,然后让它向右滑动,以便用户可以看到它。 当我点击该字段时,位置重置,但由于在视图中创建了表单视图位置,因此它不会更改。
最后,当我点击我的"返回"从表单视图中按钮,我将其向左滑动并使其隐藏状态为true。如此,当用户想要更改第一个表单上的任何内容时,位置将被重置,但隐藏状态允许用户查看他想要查看的表单而不是另一个表单。
希望我能帮助别人。 这只是一个SWIFT HACK,这项工作,但它可能不是最好的解决方案,如果你有更好的解决方案,那么我可以接受你的回答。