gpt4 book ai didi

ios - 点击 UITextField 时更改键盘动画持续时间

转载 作者:行者123 更新时间:2023-12-01 18:07:53 30 4
gpt4 key购买 nike

你好呀,

我试图在点击 UITextField 时减少/增加键盘动画持续时间.
我尝试了不同的东西,但我无法实现我的目标:

  • 我尝试在 textFieldShouldBeginEditing(textField: UITextField) -> Bool 中设置动画持续时间,但是当我尝试调用 textField.becomeFirstResponder() 时出现了无限循环再次调用func textFieldShouldBeginEditing(textField: UITextField) -> Bool等等...
  • 我在键盘要显示时触发的方法中设置了动画(响应名称为 NSNotificationUIKeyboardWillShowNotification )但看起来为时已晚
  • 我正在考虑添加 UITapGestureRecognizer给我的UITextField这会触发动画,但我担心它会与原生 UITextField 冲突的手势识别器

  • 当我说“触发动画”时,我的意思是做这样的事情:
    UIView.animateWithDuration(10.0, animations: {
    textField.becomeFirstResponder()
    })

    我现在真的不知道该怎么做,改变这个动画持续时间似乎很棘手。

    任何建议将不胜感激:)

    最佳答案

    一个简单的解决方案,覆盖 becomeFirstResponder,只记得做一些检查。

    例子。

    class MyTextField: UITextField{

    override func becomeFirstResponder() -> Bool {
    // guard clause
    if(!self.canBecomeFirstResponder()) { return false }

    UIView.animateWithDuration(1.0, animations: {
    super.becomeFirstResponder()
    })

    return true;
    }
    }

    只需将动画参数修改为您喜欢的任何内容,然后将您的 TextField 替换为 This MyTextField。

    关于ios - 点击 UITextField 时更改键盘动画持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37455531/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com