如何弹出文本字段

时间:2010-12-17 03:23:52

标签: iphone ios4 sdk

我的应用中有一个带有许多标签的视图和带有一些按钮的工具栏。我想按下按钮的同时编辑所有标签。我认为这可能是一种“弹出”文本输入并使键盘同时出现的方法。这是最干净的方法吗? 谢谢

4 个答案:

答案 0 :(得分:10)

http://discussions.apple.com/thread.jspa?messageID=8445879

可替换地。我是这样做的:

UIAlertView *prompt = [[UIAlertView alloc] initWithTitle:@"Please enter your name:"
                                                 message:@"\n\n"
                                                delegate:self
                                       cancelButtonTitle:@"Cancel"
                                       otherButtonTitles:@"Enter", nil];

textField = [[UITextField alloc] initWithFrame:CGRectMake(12, 50, 260, 25)];
[textField setBackgroundColor:[UIColor whiteColor]];
[textField setPlaceholder:@"Name for message"];
[prompt addSubview:textField];
[textField release];

// show the dialog box
[prompt show];
[prompt release];

// set cursor and show keyboard
[textField becomeFirstResponder];

然后在UIAlertView委托方法中,您从textField.text中读取内容: - )

答案 1 :(得分:10)

我知道它的答案太迟了,但对于那些使用iOS 5.0或更高版本的人来说,这个答案。 现在,AlertView具有用于各种目的的新Property AlertViewStyle。

UIAlertViewStyle
The presentation style of the alert.

typedef enum {
   UIAlertViewStyleDefault = 0,
   UIAlertViewStyleSecureTextInput,
   UIAlertViewStylePlainTextInput,
   UIAlertViewStyleLoginAndPasswordInput
} UIAlertViewStyle;

示例:

UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Title"  message:@"Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok",nil];
         [alertView setAlertViewStyle:UIAlertViewStylePlainTextInput];
         [alertView show];
         [alertView release];

代表:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    NSLog(@"%@",[[alertView textFieldAtIndex:0] text])
}

参考:http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIAlertView_Class/UIAlertView/UIAlertView.html

答案 2 :(得分:0)

这组代码可能会有助http://d.pr/1Tyt

alt text

答案 3 :(得分:0)

使用此Link

这将帮助您轻松地使用textFields发出警报。