UIButton没有得到关注

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIButton没有得到关注相关的知识,希望对你有一定的参考价值。

我在Swift 3中有我的代码。在我看来,我有两个UITextField和一个UIButton。我有第一个UITextField的textFieldShouldEndEditing委托,当我专注于第二个UITextField时会触发它。但是当我点击UIButton时,这个代表不会被解雇。我原以为当UIButton获得焦点时,UITextField的事件将自动触发,因为它失去了焦点。但是,当我点击UIButton时,光标仍在UITextField中闪烁,这意味着它不会失去焦点。

关于为什么UIButton没有得到关注的任何想法都将非常感激。

谢谢。

答案

这是在ios上开发表单的一个令人愤怒的方面。按钮点击不会像在html表单中那样从UITextField / UITextView中删除焦点。

我确信有更优雅的方法来解决这个问题,但如果我想在所有表单中始终如一地执行此操作,我确保在用户点击我的任何按钮时运行以下代码行。

- (void)userDidTapButton:(id)sender 
{
    [[[UITextField new] becomeFirstResponder] resignFirstResponder]
    // the above embarrassing line of code basically creates a new textfield
    // puts focus in it (thereby removing focus from any existing textfields
    // and then removes focus again
    // this ensures that delegate events fire on your existing textfields

// finally, run any other button code
}

以上是关于UIButton没有得到关注的主要内容,如果未能解决你的问题,请参考以下文章

UIButton 的动画图像不快速显示

在UIButton上覆盖'isSelected'或'isEnabled'不起作用

UIScrollView 上具有垂直间距的动态 UIButton

MessageBox没有关注MessageBoxButton

添加 UIButton 目标时“类名没有成员函数名”

Spring boot:thymeleaf 没有正确渲染片段