【问题标题】:Swift dismiss custom keyboard strange behaviourSwift 关闭自定义键盘的奇怪行为
【发布时间】:2015-05-15 13:49:43
【问题描述】:


我有一个自定义键盘最奇怪的情况。
首先,我为文本字段设置了一个虚拟视图,以隐藏股票键盘let dummyView : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 1, height: 1)) amountField.inputView = dummyView
然后我有我的自定义键盘,当在文本字段中开始编辑时会动画

func textFieldDidBeginEditing(textField: UITextField) {
        keyboardContainer.hidden = false
        UIView.animateWithDuration(0.6, animations: {
            self.keyboardContainer.frame = self.keyboardScreenPosition!
            }, completion: {
                finished in
                if finished {
                    //just in case
                }
        })

    }


另外,我设置了一个按钮,应该结束编辑并隐藏我的自定义键盘

@IBAction func calculeaza(sender: AnyObject) {

        self.amountField.resignFirstResponder()

        UIView.animateWithDuration(0.6, animations: {

            self.keyboardContainer.frame.origin.y = self.view.bounds.height
            }, completion: {
                finished in
                if finished {

                }
        })
    }


最奇怪的部分来自resignFirstResponder()。让我解释一下:如果不包括该部分,则键盘隐藏得很好(但文本字段不断闪烁光标,这不是 c 的选项)。
如果包含辞职部分,则键盘会从顶部动画到其当前位置,然后再次按下按钮时,它会按预期向下滑动。
我真的很困惑为什么会发生这种情况...我调试了视图的大小和高度,所以它应该从一开始就向下滑动。我真的不明白发生了什么。
非常感谢任何帮助,非常感谢!

编辑:另一个奇怪的效果是如果我在动画结束关闭中移动辞职部分(或超级结束编辑)。键盘滑动得很好,然后它重新出现在屏幕上

【问题讨论】:

    标签: ios swift uitextfield first-responder custom-keyboard


    【解决方案1】:

    这听起来像是自动布局约束的问题。这些是在 animateWithDuration 之后更新的,这可能会导致这种奇怪的行为。如果您在用于自动布局的 Storyboard 中有 (a) 个约束,请尝试更新该约束 (/那些)。如果您还没有,则需要将其添加为 IBOutlet 并在持续时间内为自动布局更改设置动画。

    例如,假设约束名为theRelevantConstraint。然后替换中间线

    self.theRelevantConstraint.constant = valueItShouldBe
    UIView.animateWithDuration(0.6, animations: {
      self.view.layoutIfNeeded()
      }, completion: {
        finished in
        if finished {
    
        } 
    })
    

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 2019-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多