これまでのところ、UITextFieldに入力されたすべての文字を次のように大文字にしようとしています(USキーボードでうまく機能しています):
self.textField = UITextAutocapitalizationTypeAllCharacters;
...
// delegate
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSRange lowercaseCharRange = [string rangeOfCharacterFromSet:[NSCharacterSet lowercaseLetterCharacterSet]];
if (lowercaseCharRange.location != NSNotFound) {
textField.text = [textField.text stringByReplacingCharactersInRange:range
withString:[string uppercaseString]];
return NO;
}
return YES;
}
この問題は、中国語 (ピンイング) などの国際キーボードを使用すると、文字の動作 (小文字でキューに入れられる) が原因で発生します。この/キーボードの内部化タイプを確認する方法の解決策はありますか?