是否可以从UITextField自定义键盘?

时间:2013-06-20 20:39:26

标签: iphone ios ios6 uitextfield

我有一个视图控制器,我的键盘一直在屏幕上显示。因此,我希望它的高度稍微小一些,而且它也是一个游戏应用程序,所以我希望让键盘看起来更有趣。

我该如何处理?我可以在代码中自定义键盘吗?我是否应该尝试使用20多个自定义按钮制作自己的键盘以形成键盘?

2 个答案:

答案 0 :(得分:2)

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];
}

答案 1 :(得分:1)

Apple不喜欢你自定义他们的键盘,这是他们的操作系统与众不同的部分原因。当我想在键盘数字输入上添加额外的按钮时,我遇到了同样的问题。如果你想调整键盘,你将不得不创建自己的自定义视图。