gpt4 book ai didi

iphone - 如何找出 UITextField 导致 UIKeyboardWillShowNotification 的原因?

转载 作者:行者123 更新时间:2023-12-03 18:23:16 25 4
gpt4 key购买 nike

我尝试在应用程序中使用自定义键盘,但在尝试将其限制为一个特定的 UITextField 时遇到问题。

我的代码基于 this Xcode project (最初发现于 this blog )。该代码将自定义 UIButton(代表“小数点”)添加到 UIKeyboardTypeNumberPad 键盘 View 中。它通过订阅 UIKeyboardWillShowNotification 并在键盘出现时修改键盘来实现此目的。

那个 Xcode 项目运行得很好,但是当我添加额外的 UITextField 时,自定义键也会被放入该文本字段的键盘中,即使我为该文本字段选择了完全不同的键盘类型。

我尝试注册以仅查看来自一个特定 UITextField 的 UIKeyboardWillShowNotification 通知,但这似乎不起作用:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:exampleViewController.textField];

我还尝试检查传递给keyboardWillShow的NSNotification内的对象,但不幸的是它指的是键盘,而不是导致键盘出现的UI控件。

2009-10-21 19:50:22.205 Example[6302:207] NSConcreteNotification 0x321ebd0 {name = UIKeyboardWillShowNotification; userInfo = {
UIKeyboardAnimationCurveUserInfoKey = 0;
UIKeyboardAnimationDurationUserInfoKey = 0.300000011920929;
UIKeyboardBoundsUserInfoKey = NSRect: {{0, 0}, {320, 216}};
UIKeyboardCenterBeginUserInfoKey = NSPoint: {160, 588};
UIKeyboardCenterEndUserInfoKey = NSPoint: {160, 372};

}}

我是否误解了 addObserver 接口(interface)?肯定有一种方法可以订阅来自特定 UI 控件的通知吗?

有人对如何实现这一目标有任何其他建议吗?

最佳答案

无法使上述任何一项工作。必须手动完成:

if ([companyName isFirstResponder]) {
// ...............
}
else if ([notes isFirstResponder]) {
//.............
}
}

关于iphone - 如何找出 UITextField 导致 UIKeyboardWillShowNotification 的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1604327/

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