если я нажал кнопку входа IBAction в форме входа, перейдите в веб-просмотр в ios

#ios #button

#iOS #кнопка

Вопрос:

Если я нажал кнопку действия входа

  - (IBAction)login button:(id)sender
  

Я хотел бы перейти в webview без использования инициируемых переходов.

Потому что у меня есть два веб-просмотра.Если я нажал кнопку входа в систему, я хотел бы войти в webview, иначе я хотел бы перейти в home webview. Это зависит от одного нажатия кнопки.

Я использовал протокол делегирования и создал метод двух экземпляров, а затем я хотел бы вызвать метод с помощью [self method name].delegate нормально, но действие кнопки входа не перешло в webview.

Как я могу это сделать?

фрагмент кода в viewcontroller.m

 - (void)viewDidLoad {

    [super viewDidLoad];
}

-(void)loginCompleted{

   NSString *fullURL = @"http://www.example.com/login";
   NSURL *url = [NSURL URLWithString:fullURL];
   NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
  [homeWebView loadRequest:requestObj];

 }

 -(void)homeCompleted{

  NSString *fullURL = @"http://www.example.com/home";
  NSURL *url = [NSURL URLWithString:fullURL];
  NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
 [homeWebView loadRequest:requestObj];
 }

  - (IBAction)loginEvent:(id)sender {
   if ([sender isEqual:loginbtn]) {
        [self loginCompleted];
        NSLog(@"Button pressed");
    } else {
        NSLog(@"Button pressed2");    }

 }
  

Комментарии:

1. Что вы подразумеваете под «у меня есть два веб-просмотра»? Вы пытаетесь сказать, что ваш WebView может загружать два запроса, и вы хотите что-то сделать на основе запроса, когда он будет завершен?

2. что такое homeWebView, добавляется ли оно в self.view в качестве подвида, и если вы нажимаете на кнопку входа, отправитель всегда равен кнопке входа.

Ответ №1:

Где ваш loginbtn? Как вы это настроили?

установите его тег

 loginbtn.tag = 1
  

В loginEvent сравните тег следующим образом

 if (sender.tag == 1) {
    [self loginCompleted];
    NSLog(@"Button pressed");
} else {

    NSLog(@"Button pressed2");
}
  

Ответ №2:

Вы можете выбирать и отменять выбор своей кнопки в зависимости от того, какое действие вы хотите запустить: loginbtn.isSelected=true . И затем:

 - (IBAction)loginEvent:(id)sender {
   if ([sender isSelected]) {
        [self loginCompleted];
        NSLog(@"Button pressed");
    } else {
        NSLog(@"Button pressed2");    
    }
 }
  

(Я пишу в Swift, поэтому это может быть написано немного по-другому)

Ответ №3:

Что вы говорите: «Если бы я нажал кнопку входа в систему, я хотел бы перейти в веб-просмотр входа, иначе я хотел бы перейти в домашний веб-просмотр.Это зависит от одного нажатия кнопки.’ приводит меня в замешательство.Каковы «другие случаи»?

Я гость, вы надеетесь сначала загрузить домашнюю страницу, если пользователь нажмет кнопку входа, он перейдет на страницу входа.

Если это верно, вам следует добавить requestObj в свойство контроллера просмотра, отменить запрос, если необходимо, когда пользователь нажимает кнопку входа.

Вы говорите, что у вас есть два веб-просмотра, но вы загружаете запрос на вход в метод homeWebView see loginCompleted