【问题标题】:Differences between `.EditingDidEnd` and `.EditingDidEndOnExit``.EditingDidEnd` 和 `.EditingDidEndOnExit` 之间的区别
【发布时间】:2015-02-18 19:37:03
【问题描述】:

UIControlEvents.EditingDidEnd.EditingDidEndOnExit之间究竟有什么区别,它们之间的关系如何?

documentation on UIControl 非常模糊,并且没有关于这些是否因不同原因而触发、一个是否是另一个的超集、或者它们是否在功能上等效的信息。

一个是超集的可能性尤其令人困惑,因为命名暗示.EditingDidEndOnExit.EditingDidEnd 的特定出现,但文档似乎暗示相反。

【问题讨论】:

    标签: ios uitextfield uikit uicontrolevents


    【解决方案1】:

    .EditingDidEnd”在有人触摸文本字段边界之外时调用,因为他们很可能要与其他控件或对象进行交互。

    EditingDidEndOnExit”在用户单击键盘上的“return”键时被调用(你是对的,文档中并不清楚......但如果你查看 UIControl.h 文件您会看到反映这一点的评论)。

    【讨论】:

    • EditingDidEndOnExit 确实关闭了键盘。但是EditingDidEnd 如果我点击另一个文本字段而不是任何其他位置(场外),似乎会被解雇
    • 如果我有一个 UITextField 两者都有,我看到点击return 触发两者......就像EditingDidEndOnExit; EditingDidEnd。当我添加日志记录以包装目标操作时,它们似乎在单独的线程上运行,因为输出是交错的。
    【解决方案2】:

    来自 UIControl 标头:

    UIControlEventEditingDidEnd       = 1 << 18,
    UIControlEventEditingDidEndOnExit = 1 << 19,     // 'return key' ending editing
    

    所以一个是当按下返回键时,另一个是从触摸边界之外。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-25
      • 2020-05-10
      • 2014-09-20
      • 2010-10-28
      • 2015-10-04
      • 2012-08-12
      • 2011-02-18
      • 2019-12-21
      相关资源
      最近更新 更多