gpt4 book ai didi

ios - 关闭文本字段键盘时 UIView 动画不起作用

转载 作者:行者123 更新时间:2023-11-29 05:20:13 24 4
gpt4 key购买 nike

使用 UITextFieldDelegate 我有两个函数来控制文本字段开始编辑和结束时发生的情况。

使用 UIView.animate 我使用 .isHidden.alpha 属性让按钮消失并隐藏。

使用

.alpha 是因为我还设置了按钮消失的动画,并稍有延迟。

虽然消失效果很好,但在使用 textFieldDidEndEditing 时,动画不起作用,按钮确实会回来,但它突然出现,并不轻松。

要关闭键盘,我允许用户通过在 ViewDidLoad() 中使用它来点击任意位置

self.view.addGestureRecognizer(UITapGestureRecognizer(target:     
self.view, action: #selector(UIView.endEditing(_:))))

我使用的委托(delegate)函数如下:

extension ExampleViewController: UITextFieldDelegate {

func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == exampleTextField {
UIView.animate(withDuration: 0.1, delay: 0.1, options: .curveEaseOut,
animations: {self.exampleButton.alpha = 0.0},
completion: { _ in self.exampleButton.isHidden = true
})

}
}

func textFieldDidEndEditing(_ textField: UITextField) {

if textField == exampleTextField {

UIView.animate(withDuration: 0.1, delay: 0.1, options: .curveEaseInOut,
animations: {self.exampleButton.alpha = 1.0},
completion: { _ in self.exampleButton.isHidden = false
//Do anything else that depends on this animation ending
})
}
}


}

为什么.curveEaseIn不起作用?

最佳答案

问题是按钮被隐藏了。当它仍然隐藏时,您将其淡入淡出,然后在完成处理程序中取消隐藏 alpha 值已经为 1 的按钮。这使其在 0.2 秒后突然出现。

由于您使用 alpha 0 隐藏并使用 alpha 1 显示,因此根本不需要在任一动画中设置 isHidden 属性。

关于ios - 关闭文本字段键盘时 UIView 动画不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58739013/

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