gpt4 book ai didi

ios - RootViewController 的 viewDidLoad 中的 UIAlertView 在 iOS 7 中突然不起作用

转载 作者:行者123 更新时间:2023-11-28 18:36:03 24 4
gpt4 key购买 nike

我有一个程序已经运行了几年。突然,当我升级到 iOS 7 时,它不再有效。我在 UIAlertView 内的 RootViewController 中放置了一个 UIAlertView(密码对话框)。 UIAlertView 出现了,但其中的 UITextField 没有出现。关于为什么这突然不起作用的任何线索?

缩略代码:

@implementation RootViewController

- (void)viewDidLoad {
[super viewDidLoad];

// Some initialization

if (!firstTimeInit) {
alert =
[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Password",
@"Password")
message:NSLocalizedString(@"EnterPassword",
@"EnterPassword")
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"OK", nil];
alert.frame = CGRectMake( 0, 0, 300, 260);

UITextField *myTextField =
[[UITextField alloc] initWithFrame:CGRectMake(32.0f, 75.0f,
220.0f, 28.0f)];
myTextField.placeholder = NSLocalizedString(@"Password", @"Password");

[myTextField setSecureTextEntry:YES];
[myTextField setBackgroundColor:[UIColor whiteColor]];
[myTextField setBorderStyle:UITextBorderStyleBezel];
myTextField.tag = 11;
[alert addSubview:myTextField];
CGAffineTransform myTransform =
CGAffineTransformMakeTranslation(0.0, 75.0);
[alert setTransform:myTransform];

[prefs retain];
[alert show];
[myTextField becomeFirstResponder];
}
}

最佳答案

您应该使用 UIAlertViewStyleSecureTextInput 文本字段。

UIAlertView *alert =
[[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Password",
@"Password")
message:NSLocalizedString(@"EnterPassword",
@"EnterPassword")];
alert.alertViewStyle = UIAlertViewStyleSecureTextInput;

在您的委托(delegate)方法中执行如下操作:

- (void)alertView:(UIAlertView *)alertView
didDismissWithButtonIndex:(NSInteger)buttonIndex
{
NSString *password = [[alertView textFieldAtIndex:0] text];
// Whatever password processing.

}

UIKit 不支持向 UIAlertView 添加 subview ,因此您应该使用支持的方式来代替:)

关于ios - RootViewController 的 viewDidLoad 中的 UIAlertView 在 iOS 7 中突然不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18926989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com