问题
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;
}
回答1:
Try this:
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField setKeyboardType:UIKeyboardTypeNumbersAndPunctuation];
[textField reloadInputViews];
return YES;
}
回答2:
You can do this in the Text Input Traits section under the Attributes inspector.
来源:https://stackoverflow.com/questions/12619375/programmatically-changing-keyboard-type-on-ios-does-nothing