iOS 7 中的 UIAlertView 样式登录和密码输入
Posted
技术标签:
【中文标题】iOS 7 中的 UIAlertView 样式登录和密码输入【英文标题】:UIAlertViewStyleLoginAndPasswordInput in iOS7 【发布时间】:2013-09-12 08:15:54 【问题描述】:我正在 ios7 上测试我的工作应用程序。当应用程序启动时,它会要求玩家登录。为了收集用户凭据,我使用了样式为 UIAlertViewStyleLoginAndPasswordInput
的 AlertView在 iOS6 中看起来不错
但是在 iOS7 上发生了一些奇怪的事情
包含标题的 AlertView UILabel 仍然存在,但它被隐藏了,因为它的高度似乎被高估了。滚动 UILabel 最终会显示标题。
【问题讨论】:
【参考方案1】:由于我在将应用程序移植到 iOS 7 时对我的工作进行了试验,因此像素存在一些变化。该应用程序必须重新配置为相同。我建议手动调整对话框的高度以适应屏幕。
P.S.:我还在学习阶段,所以如果我说的话不正确,请避免并告诉我。谢谢。
【讨论】:
嗨,killswitch。我宁愿不改变原生视图的高度。我会试一试,但我认为应该有另一种方法来实现这一点。 不是一个好主意...试图改变高度。你可以让它更高,但 Apple 不赞成继承 UIAlertView。你唯一能做的……创造你自己的。我在 *** 上看到了一个,有人为此创建了一个控制器。我……我不需要它,也不想惹它。迟早……它可能会破裂。代码腐烂是一件可怕的事情!一个例子:AlertView 中的 addSubview。让很多人头疼,包括我……直到我用了上面的方法。【参考方案2】:看起来您正在尝试将标题或消息设置为特殊高度。消除高度变化,让系统自动创建高度。
你没有发布任何代码,所以,我只是猜测。
我刚刚将我的警报视图代码换成了 iOS7,它比旧样式简单得多。 _prompt 这里是一个设置为 UIAlertView 的属性
- (IBAction) addEntryTapped:(id)sender
[_editorTextView resignFirstResponder];
[self saveTextChanges];
[self dismissPopovers];
_prompt = [[UIAlertView alloc] init];
// change the UIAlertViewStyle to the one you need to use
_prompt.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField *text = [_prompt textFieldAtIndex:0];
_textField = text;
[_prompt setDelegate:self];
[_prompt setTitle:@"New Entry Title..."];
[_prompt setMessage:@""];
[_prompt addButtonWithTitle:@"Cancel"];
[_prompt addButtonWithTitle:@"OK"];
[_textField setPlaceholder:@"New Entry Title"];
_textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
_textField.autocorrectionType = UITextAutocorrectionTypeNo;
[_prompt show];
// set cursor and show keyboard
[_textField becomeFirstResponder];
【讨论】:
嗨,马克。请尝试将 UIAlterView 样式从 UIAlertViewStylePlainTextInput 更改为 UIAlertViewStyleLoginAndPasswordInput 并让我知道您看到了什么。为您的视图使用横向布局! 我已经在我的登录中使用了相同的格式,并进行了您要求的更改。但是,我对上面的代码做了它,它应该会出现。 视图是否为横向模式?对话框出现时是键盘出现还是最初隐藏?很抱歉向您询问了很多,但我需要了解为什么我的对话框“格式错误”;D 我的应用是为 iPad 设计的……当然,无论方向如何,它都没有问题。刚刚想到...您是在 iPhone 还是 iPhone Retina 中查看屏幕?选择哪个版本时,选择模拟器的retina版本。以上是关于iOS 7 中的 UIAlertView 样式登录和密码输入的主要内容,如果未能解决你的问题,请参考以下文章
UIAlertView 按钮(子视图)未在 iOS 7 中显示
用于自定义视图的 iOS7 UIAlertView 样式对话框
如何在 IOS 应用程序中使用 UIAlertView 验证登录?
带有 UIActivityIndicatorView 的 iOS 7 样式弹出窗口/警报视图