【发布时间】:2016-02-01 16:21:16
【问题描述】:
在键盘顶部添加了一个由按钮组成的自定义视图。按钮显示正确,但在点击按钮时,会按下键盘的底层键而不是按钮操作。
UIWindow* tempWindow = [UIApplication sharedApplication].windows.lastObject;
for (UIView *keyboard in [tempWindow subviews]) {
if ([[keyboard description] hasPrefix : @"<UIInputSetContainerView"]) {
for(int i = 0 ; i < [keyboard.subviews count] ; i++)
{
UIView* hostkeyboard = [keyboard.subviews objectAtIndex:i];
if([[hostkeyboard description] hasPrefix:@"<UIInputSetHost"] == YES){
[hostkeyboard addSubview:extraRow];
[hostkeyboard bringSubviewToFront:extraRow];
}
}
}
}
extraRow 是由按钮组成的 UIView。
有什么遗漏吗?
【问题讨论】:
-
为什么不使用
UITextField's 和UITextView'sinputAccessoryView或inputView属性?这似乎是错误的,并且(正如您所发现的)很容易被破坏。想知道为什么这甚至可以这样做。 -
@JanGreve 希望将视图作为键盘上方的叠加层,并在需要时将其删除,以保持键盘完好无损。有什么方法可以抑制下面的内容并优先考虑上面的观点?感谢您的回复。
-
键盘不被视为您应用程序的一部分;我怀疑是否有合法的方法(w.r.t. Apples 规则)这样做。
标签: ios custom-keyboard ios9.2