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

标签 iphone ios ios6 uitextfield

我有一个 View Controller ,我的键盘始终在屏幕上。正因为如此,我希望它的高度能小一点,而且它也是一个游戏应用程序,所以我希望让键盘看起来更有游戏感。

我应该如何处理这个问题?我可以在代码中自定义键盘这么多吗?我是否应该尝试制作自己的键盘,用20多个自定义按钮来组成键盘?

最佳答案

Garrett 是正确的,您无法自定义标准 iOS 键盘,但是有一种方法可以提供自定义 View 来代替它。

UITextField 有一个名为 inputView 的属性。

这将允许您提供所需的 View ,同时仍然保持使用文本字段成为和退出第一响应者的准确性。

既然您声明键盘始终在应用程序中打开,我假设您只创建/设置 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];
}

关于iphone - 是否可以从 UITextField 自定义键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17223355/

相关文章:

javascript - 解析云代码作业:删除数据库中已有一个小时的行

iphone - 无法在 iPhone 6.0 Simulator Retina 4 Inch 上全屏启动我的应用程序

iphone - 用于测试的设备和 iOS 版本的最佳实践。同一台设备需要多个 iOS 版本?

ios - Ray Wenderlich 的 Mapkit 教程中的 SIGABRT

Iphone Web 线程 _WebThreadLockFromAnyThread

iPhone XCode 在后台时无法重新激活音频捕获 session

iphone - 提交应用程序 - 添加本地化,​​但组合框中未列出我的语言?

ios - iOS模拟器仅显示屏幕的左下角

iphone - 如何在 IOS 上运行的 phonegap/cordova 应用程序中打开 iframe?

ios - 什么时候使用像 (id<UISearchBarDelegate>)self 这样的东西?