我有一个视图控制器,我的键盘一直在屏幕上。正因为如此,我希望让它的高度更小一些,它也是一个游戏应用程序,所以我希望让键盘看起来更有游戏感。
我应该如何处理这个?我可以在代码中自定义这么多键盘吗?我是否应该尝试用 20 多个自定义按钮制作自己的键盘来组成键盘?
我有一个视图控制器,我的键盘一直在屏幕上。正因为如此,我希望让它的高度更小一些,它也是一个游戏应用程序,所以我希望让键盘看起来更有游戏感。
我应该如何处理这个?我可以在代码中自定义这么多键盘吗?我是否应该尝试用 20 多个自定义按钮制作自己的键盘来组成键盘?
Garrett 是正确的,您不能自定义标准的 iOS 键盘,但是有一种方法可以在其位置提供自定义视图。
UITextField
有一个名为inputView的属性
这将允许您提供所需的视图,同时仍然保持使用文本字段成为和辞去第一响应者的好处。
由于您说键盘始终在应用程序中打开,我假设您只创建/设置 UITextField 一次。
因此,viewDidLoad
调出键盘使其停留在屏幕上并将其设置为 inputView。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIView *customKeyboardView = [[[NSBundle mainBundle] loadNibNamed:@"CustomKeyboard" owner:nil options:nil] lastObject];
self.myTextField.inputView = customKeyboardView;
[self.myTextField becomeFirstResponder];
}
Apple 不希望您自定义他们的键盘,这是使他们的操作系统与众不同的一部分。当我想在键盘数字输入中添加额外的按钮时,我遇到了同样的问题。如果要调整键盘,则必须创建自己的自定义视图。