2016-10-24 1 views
0

Wenn ich Login Aktionstaste gedrücktwenn ich IBAction Login-Button in Login-Formular geklickt haben, in ios zur Web-Ansicht gehen

- (IBAction)login button:(id)sender 

Ich mag würde webview gehen, ohne ausgelöst segues zu verwenden.

Weil ich zwei Webansichten habe.Wenn ich Login-Taste gedrückt habe, möchte ich Login Webview gehen, sonst möchte ich nach Hause Webview gehen. Das hängt von einem Klick ab.

Ich verwendet Delegate-Protokoll und erstellen Sie zwei Instanz-Methode, und dann möchte ich Methode aufrufen, indem Sie [self method name].delegate ist in Ordnung, aber Login-Schaltfläche Aktion ging nicht zu Webview.

Wie kann ich das tun?

Stück Code in 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"); } 

} 
+0

Was verstehen Sie unter „Ich habe zwei Web-Ansichten“ bedeuten laden? Versuchen Sie zu sagen, dass Ihre 'WebView' zwei Anfragen laden kann und Sie etwas tun möchten, basierend auf der Anfrage, wenn sie abgeschlossen ist? – Adeel

+0

was ist homeWebView, ist es zu self.view als Unteransicht hinzufügen, und wenn Sie auf Login-Taste drücken Absender immer gleich Anmelde-Taste. –

Antwort

0

Wo ist dein loginbtn? Wie stellst du es ein?

Set es ist Tag

loginbtn.tag = 1 

In loginEvent den Tag wie diese Sie

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

    NSLog(@"Button pressed2"); 
} 
0

vergleichen können Ihre Taste je nachdem, welche Aktion Sie auslösen wollten wählen und abzuwählen: loginbtn.isSelected=true. Und dann:

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

(ich in Swift schreiben, so könnte es ein bisschen anders geschrieben werden)

0

Was Sie ‚sagen, wenn ich Login-Taste gedrückt, ich möchte Login Web-Ansicht gehen, sonst würde ich gerne nach Hause gehen Web-Ansicht. Es hängt von einem Klick auf die Schaltfläche. verursacht mich verwirrt. Was sind die "anderen Fälle"?

Ich Gast Sie hoffen, die Startseite zuerst laden, wenn der Benutzer Login-Taste drücken, es geht auf die Anmeldeseite.

Wenn dies der Fall ist, sollten Sie requestObj der Eigenschaft des View-Controllers hinzufügen, die Anforderung bei Bedarf abbrechen, wenn der Benutzer auf die Schaltfläche "Anmelden" klickt.

Sie sagen, Sie zwei WebViews haben, aber Sie Login-Anfrage an die homeWebView sehen loginCompleted Methode

+0

ja, so. Danke. –

Verwandte Themen