我想在不使用文本字段的情况下拉起键盘,因此我将 UIToolbar 子类化并使其符合 UIKeyInput 协议。根据我使用简单 NSLog 打印输出的测试,我成功地读取了用户的关键输入。我的问题是我需要输入键盘的文本来更新由与我的自定义工具栏相同的视图控制器管理的表视图。基本上我的问题是:如果我的更新方法在我的自定义工具栏类中,我如何告诉它更新表格视图?或者,如果我的更新方法在我的视图控制器类中,我如何确保每次按下键时都会调用它?
我试图让我的工具栏在按下一个键时发送通知,如下所示:
- (void)insertText:(NSString *)text {
[[NSNotificationCenter defaultCenter] postNotificationName:@"keyPressed" object:self];
然后用视图控制器监听它
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateForKeyPressed:) name:@"keyPressed" object:nil];
...
- (void)updateForKeyPressed:(NSNotification *)note {
[self update];
}
这没有用,但这并不奇怪,因为我从在线文章中得到了这个想法,而且我相当肯定我做错了。在这一点上,我几乎是在捣乱,如果有人能指出我正确的方向,那就太好了。与往常一样,非常感谢任何帮助。如果有人想查看我的更多代码,请告诉我,我可以将其发布。