次のコードを使用して、テキスト フィールドを持つ UIAlertView を表示します。
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:title message:nil delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Rename", nil];
alertView.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField* textField = [alertView textFieldAtIndex:0];
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
[alertView show];
結果は、iOS 5.1 では次のようになります。
iOS 6.1 の場合:
ご覧のとおり、クリア ボタンは iOS 6.1 の本来の位置よりも少し高くなっています。ボタンを適切に中央に配置する方法はありますか? 追加 textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
しても役に立ちません。
(どうやら、これは iOS 6.1 のバグですが、回避策を知っている人がいるかもしれません。また、アラート ビューのテキスト フィールドの高さも OS のバージョンによって異なるようですが、それは別の問題です。)