Objective-c,如何在 UIAlertView 上添加 UITextField

Posted

技术标签:

【中文标题】Objective-c,如何在 UIAlertView 上添加 UITextField【英文标题】:objective-c, How to add a UITextField on UIAlertView 【发布时间】:2011-03-30 02:20:16 【问题描述】:

我想等待警报对话框输入用户名,如何在 UIAlertView 上添加 UITextField

【问题讨论】:

对于 ios7,请参阅 [我对登录警报的回答][1] [1]:***.com/a/19051713/993494 【参考方案1】:

这在 iOS5 之后发生了变化。您现在可以创建带有样式的 UIAlertView。

UIAlertView 现在有一个属性 - alertViewStyle,您可以将其设置为枚举值之一

UIAlertViewStyleDefault UIAlertViewStyleSecureTextInput UIAlertViewStylePlainTextInput UIAlertViewStyleLoginAndPasswordInput

一旦您创建了警报视图,您就可以设置它的样式并显示它。解除警报后,您可以使用警报视图的textFieldAtIndex: 属性访问字段的内容。

【讨论】:

【参考方案2】:

像这样:

UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Twitter  Login" message:@"\n\n\n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Sign In", nil];

myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
myTextField.placeholder=@"Enter User Name";
[myTextField becomeFirstResponder];
[myTextField setBackgroundColor:[UIColor whiteColor]];
myTextField.textAlignment=UITextAlignmentCenter;

// myTextField.layer.cornerRadius=5.0; Use this if you have added QuartzCore framework

[myAlertView addSubview:myTextField];
[myAlertView show];
[myAlertView release];

【讨论】:

如果使用 iOS5 或更高版本,现在已内置支持此功能。 @Abizern 我还没有在 iOS5 上尝试过,但是如果你有代码并且如果你希望你也可以为 iOS5 输入代码,这样就可以得到两个版本的 iOS 的警报。跨度> 【参考方案3】:

这已经讨论过几次了。这是一个很好的帖子:UIAlertView with text input

【讨论】:

【参考方案4】:

http://zpasternack.blogspot.com/2010/09/uialertview-with-uitextfield.html

【讨论】:

【参考方案5】:

像这样:

UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Twitter Login" message:@"\n\n\n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Sign In", nil];

    myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
    myTextField.placeholder=@"Enter User Name";
    [myTextField becomeFirstResponder];
    [myTextField setBackgroundColor:[UIColor whiteColor]];
    myTextField.textAlignment=UITextAlignmentCenter;
    // myTextField.layer.cornerRadius=5.0; Use this if you have added QuartzCore framework
        [myAlertView addSubview:myTextField];
    [myAlertView show];
    [myAlertView release];

希望这能解决你的问题......

【讨论】:

【参考方案6】:

我在我的博客中创建了一篇关于“如何将 UITextField 从 XIB 添加到 UIAlertView”的帖子。使用 XIB 添加比纯编码更容易。请参考以下链接。

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

【讨论】:

以上是关于Objective-c,如何在 UIAlertView 上添加 UITextField的主要内容,如果未能解决你的问题,请参考以下文章

委托如何工作和委托在objective-c中的工作流程

如何在 Objective-C 中打印单个数组元素?

在这种情况下如何确定是不是发生错误(Objective-C)

Objective-C 观察者 - 如何在 Swift 中使用

如何在 Swift 中调用 Objective-C 类别方法

如何在 CollectionViewController 中为 gif 设置动画.. (Objective-C)