Maybe it is not necessary you modify the keyboard. A has been suggested, you can instead modify the input. Once the user notices, that alphabetical input does not do anything, she will presumably stop trying.
This will filter out all but the numbers:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
NSString *numbersOnly = [[string componentsSeparatedByCharactersInSet:
[[NSCharacterSet decimalDigitCharacterSet] invertedSet]]
componentsJoinedByString:@""];
return [string isEqualToString:numbersOnly];
}