UIAlertViewにテキストボックスを追加する方法です。
あのパスワードを入力するダイアログみたいなやつ。
privateメソッドに下記のAPIがありそれを使うと実現可能だがRejectされてしまった。
(UndocumentedなAPIであるため)
- (UITextField*)addTextFieldWithValue:(NSString*)value label:(NSString*)label;
- (UITextField*)textFieldAtIndex:(NSUInteger)index;
- (NSUInteger)textFieldCount;
- (UITextField*)textField;
十分に調べて使用しなかったせいだが、確実にRejectされるので注意してください。
「見逃された」みたいな書き込みもあったんで、使ってみたが思いっきり却下されました。
(使っても大丈夫な時代もあったみたい?)
~~~追記1~~~
http://discussions.apple.com/thread.jspa?threadID=1674641&start=0&tstart=0
このURLの途中にある
TextAlertView.h
TextAlertView.m
というクラスで実現できました。
そのまま流用したらダイアログの位置が上部に行き過ぎていたり、テキストボックスが横にはみだしてしまったりしたので少し修正。
#define kUITextFieldHeight 30.0
#define kUITextFieldWidth 260.0 → 追加
#define kUITextFieldXPadding 12.0
#define kUITextFieldYPadding 10.0
#define kUIAlertOffset 100.0 → 10.0 修正
layoutSubviewsの「alertWidth - 2.0*kUITextFieldXPadding,」の部分を「kUITextFieldWidth」に修正
あとはUITextFieldの透過が気になったので、「myTextField.alpha = 0.75;」をコメントアウト
これでリリースしてみました。
~~ 追記2 ~~
無事AppStoreにリリースされました。
~~ 追記3 ~~
2011/12/06現在で上記方法は使用できなくなったようです。
修正してアプリをリリースしなおしました。
0 件のコメント:
コメントを投稿