UITextField inside an UIAlertView not working in iOS4.1 and works in 3.0

被刻印的时光 ゝ 提交于 2019-12-02 04:46:11

In iOS 4 UIAlertViews will automatically be moved and sized to avoid the keyboard if they contain any UITextFields in their subviews so you don't have to move it yourself. Simply add a text field like so:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello"
                                                message:@"Tap below to enter text:\n\n"
                                               delegate:nil
                                      cancelButtonTitle:@"Dismiss"
                                      otherButtonTitles:nil];
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(12, 68, 260, 30)];
[textField setBorderStyle:UITextBorderStyleRoundedRect];
[alert addSubview:textField];
[textField release];
[alert show];
[alert release];

Be sure to add \n's to make room for your text field, you'll have to play around with getting the field in the correct position.

iOS4 broke all sorts of UIAlertView hacks (er... 'customizations').

I have a custom UIAlertView replacement class on github which supports an input (with UITextField) mode. You're welcome to try it out.

https://github.com/TomSwift/TSAlertView

I have created a post in my blog on the topic "How to add UITextField to UIAlertView from XIB". To Solve your problem, you need to add a "fake" UITextField into the Alert view via coding. Please refer to the following link:

http://creiapp.blogspot.com/2011/08/how-to-add-uitextfield-to-uialertview.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!