UITextField入りのUIAlertView

文字列入力または編集のポップアップを出したかったので調べました。色々な記事があるけど、参考にしたのは下記の記事です。

iPhone Coding Tutorial – Inserting A UITextField In A UIAlertView


あと、中に持ったUITextFieldが編集中のままUIAlertViewが消えるときに、"wait_fences: failed to receive reply: 10004003"と出るので、それの対応は下記の記事を参考にさせていただきました。

wait_fences: failed to receive reply: 10004003


最終的な自分のコードはこんな感じ。textFieldの宣言の箇所は省いてます。

- (void)showWithTitle:(NSString *)title text:(NSString *)text {
	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
				message:@" "
				delegate:self
				cancelButtonTitle:@"Cancel"
				otherButtonTitles:@"OK!", nil];
	textField = [[UITextField alloc] initWithFrame:CGRectMake(12, 45, 260, 25)];
	textField.text = text;
	CGAffineTransform myTransform = CGAffineTransformMakeTranslation(0, 60);
	[alert setTransform:myTransform];
	[textField setBackgroundColor:[UIColor whiteColor]];
	[alert addSubview:textField];
	[alert show];
	[alert release];
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
	[textField resignFirstResponder];
	if (buttonIndex == 1) {
		// OKのときの実装
	}
}