我正在尝试在方法 alertViewShouldEnableFirstOtherButton 中将用户输入的第一个字母更改为大写。在 iOS 6 中一切都按预期工作,但在 iOS 5 中,我似乎得到了无限循环(当我以编程方式设置警报视图的文本字段时,它递归地调用方法 alertViewShouldEnableFirstOtherButton )这是代码:
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView{
NSString *inputText = [[alertView textFieldAtIndex:0] text];
if(inputText.length==0)return NO;
unichar firstChar=[[inputText capitalizedString] characterAtIndex:0];
NSString *capitalizedLetter= [NSString stringWithCharacters:&firstChar length:1];
NSString *str=[inputText stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:capitalizedLetter];
[[alertView textFieldAtIndex:0] setText:str];// setText calls again alertViewShouldEnableFirstOtherButton
return YES;
}