Search code examples
objective-ciosxcodeuikeyboardtype

Programmatically changing keyboard type on iOS does nothing


I want to change keyboard type from default to numeric after user pressed return button. However after setting keyboardType property nothing happens.

My code:

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField setKeyboardType:UIKeyboardTypeNumbersAndPunctuation];

    return YES;
}

I have set myself as text field delegate and the method is being called after pressing return button.

EDIT: Solved by

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField setKeyboardType:UIKeyboardTypeNumbersAndPunctuation];
    [textField reloadInputViews];
    return YES;
}

Solution

  • Try this:

    -(BOOL)textFieldShouldReturn:(UITextField *)textField
    {
        [textField setKeyboardType:UIKeyboardTypeNumbersAndPunctuation];
        [textField reloadInputViews];
        return YES;
    }