如何解决带有 UISegmentControl 的 UITextField 会导致额外的键盘通知?
让我们把这是否是一个“好”的想法,无论从视觉上还是不,放在一边。这是一个学习练习。 iOS 允许我通过其 leftView
和 rightView
属性将任意 UIViews 嵌入到 UITextField 中。所以我做到了。
左侧是一个标签,右侧是一个 UISegmentedControl。我使用 4 个键盘钩子(willShow、didShow、willHide、didHide)来风格化键盘交互的生命周期。这在以前非常简单。我发现如果我触摸输入区域,然后操作这些段,我会得到一组额外的 willShow/didShow 通知。我可以掩盖多余的发送,但我宁愿理解为什么,有没有办法避免它导致这种情况?键盘实际上并没有重新显示。它只是使用与最初打开时相同的值来通知。每次焦点/控制离开然后重新进入段时,都会产生一个新的序列。
我可以在段控件上设置一个选项来避免这种情况发生吗?或者什么时候可以在通知上使用一个习惯用法来检测原始和冗余之间的差异(没有设置我自己的标志来跟踪差异)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。