Objective c keyboardType没有改变

时间:2015-06-09 10:12:22

标签: ios objective-c iphone

我尝试更改输入字段的键盘类型,因为我正在使用[redeemCode setKeyboardType:UIKeyboardTypeNumberPad];

- (void)keyboardWasShown:(NSNotification*)aNotification

    {
        [redeemCode isFirstResponder];
        [redeemCode setKeyboardType:UIKeyboardTypeNumberPad];
    }

当我无法更改键盘类型时,我使用redeemCode.keyboardType = UIKeyboardTypeNumbersAndPunctuation;但我失败了。

  - (void)keyboardWasShown:(NSNotification*)aNotification
    {
        [redeemCode becomeFirstResponder];
        redeemCode.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
    }

提前致谢

2 个答案:

答案 0 :(得分:0)

移动以下行

   redeemCode.keyboardType = UIKeyboardTypeNumberPad;

到您的viewDidLoad并删除其他2种方法

同时检查redeemCode是否不是nil,如果您设置了它,则应该self.redeemCode

答案 1 :(得分:0)

问题是U在键盘已经显示后设置了类型。 在代码中的某个位置定义适当的键盘类型。 像:

UITextField *tf = //textfield allocation
tf.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
......
[tf becomeFirstResponder];