Я новичок в IOS. Когда я щелкая на следующей Кнопка входа:Выполнение всплывающего окна с другого всплывающего окна в ios
Я использую этот код для создания всплывающих окон:
- (UIView *)createLoginView
{
UIView *alertView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 130)];
UITextField *email = [[UITextField alloc] initWithFrame:CGRectMake(10, 10, 280, 50)];
email.tag=420;
email.layer.cornerRadius = 5;
[email setTag:99];
[email setTextAlignment:NSTextAlignmentCenter];
[email setKeyboardType:UIKeyboardTypeEmailAddress];
[email setPlaceholder:@"Email"];
[email setBackgroundColor:[UIColor colorWithRed:243/255.0 green:243/255.0 blue:243/255.0 alpha:1.0]];
[email setReturnKeyType:UIReturnKeyNext];
[email setAutocorrectionType:UITextAutocorrectionTypeNo];
UITextField *pass = [[UITextField alloc] initWithFrame:CGRectMake(10, 70, 280, 50)];
pass.layer.cornerRadius = 5;
[pass setTag:100];
[pass setTextAlignment:NSTextAlignmentCenter];
[pass setSecureTextEntry:YES];
[pass setPlaceholder:@"Password"];
[pass setBackgroundColor:[UIColor colorWithRed:243/255.0 green:243/255.0 blue:243/255.0 alpha:1.0]];
[pass setReturnKeyType:UIReturnKeyGo];
[alertView addSubview:email];
[alertView addSubview:pass];
return alertView;
}
Войти Всплывающее работоспособной, но когда я нажимаю «Забыть?» кнопка всплывающего окна, всплывающее окно с забытым паролем не отображается. Вот код для всплывания всплывающего пароля.
- (UIView *)createForgotPasswordView
{
UIView *alertView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 130)];
UITextField *email = [[UITextField alloc] initWithFrame:CGRectMake(10, 10, 280, 50)];
email.layer.cornerRadius = 5;
[email setTag:22];
[email setTextAlignment:NSTextAlignmentCenter];
[email setKeyboardType:UIKeyboardTypeEmailAddress];
[email setPlaceholder:@"Email"];
[email setBackgroundColor:[UIColor colorWithRed:243/255.0 green:243/255.0 blue:243/255.0 alpha:1.0]];
[email setReturnKeyType:UIReturnKeyNext];
[email setAutocorrectionType:UITextAutocorrectionTypeNo];
[alertView addSubview:email];
return alertView;
}
И я использую его как:
- (IBAction)LogInClick:(UIButton *)sender {
IOS7AlertView *applyMsg = [[IOS7AlertView alloc] init];
[applyMsg setContainerView:[self createLoginView]];
[applyMsg setButtonTitles:[NSMutableArray arrayWithObjects:@"Forgot?", @"Login", nil]];
[applyMsg setOnButtonTouchUpInside:^(IOS7AlertView *alertView, int buttonIndex) {
if(buttonIndex==0)
{
[alertView close];
NSLog(@"Forgot Section");
IOS7AlertView *applyPop = [[IOS7AlertView alloc] init];
[applyPop setParentView:[self createForgotPasswordView]];
[applyPop setButtonTitles:[NSMutableArray arrayWithObjects:@"Next", @"Cancel", nil]];
}
}];
Но проблема заключается в следующем всплывающее окно не появляется? В чем проблема? Пожалуйста помоги.
Пожалуйста, обратите внимание, что с прошивкой 7 вы больше не должны добавлять подвиды в 'UIAlertView'. Из документации: класс 'UIAlertView' предназначен для использования как есть и не поддерживает подклассы. Иерархия представления для этого класса является частной и ее нельзя изменять. – rckoenes
@rckoenes Я должен сказать, где находится 'UIAlertView', я бы больше интересовался кодом, стоящим за« IOS7AlertView », если они подклассифицируют' UIAlertView'. На самом деле я не вижу цели этого кода, так как они не делают ничего, что 'UIAlertView' уже делает для них. – Popeye
@ Попай, вы совершенно правы, вам не нужно добавлять 'UITextField' самостоятельно. В моем комментарии больше указана часть документации, в которой указано, что иерархия представления является частной. Таким образом, вставка вашего собственного представления может испортить ситуацию. – rckoenes