1

ビューとボタンがあります。ボタンが押されると、uiwebview を持つモーダル ビュー コントローラーが表示され、上部にナビゲーション バーが表示されます。ハードコーディングされた uiwebview は、ログイン プロンプトを表示します。ユーザーがログインして正しいログイン資格情報を入力し、キーボードで GO を押すと、サーバーへの認証に必要なだけでなく、モーダル ビュー コントローラーも閉じられます。

データを入力するテキスト フィールドは、uiwebview に読み込まれた Web サイトの一部であることに注意してください...

Enterキーを押すと、Webページが認証され、すべてが桃色ですが、必要なのは

[self dismissModalViewControllerAnimated:YES];

彼らがGOを押したときのコマンド...何か考えはありますか?

ありがとう

編集

loginView で実装しているコードは次のとおりです。

- (void)viewDidLoad {
    [super viewDidLoad];
    NSURL *url = [[NSURL alloc] initWithString: @"http://website"];
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL: url];
    [webView loadRequest: request];

    [request release];
    [url release];


}

-(BOOL) textFieldShouldReturn:(UITextField *)textField{


        [self dismissModalViewControllerAnimated:YES];

    return YES;
}

-(IBAction) done{

    [self dismissModalViewControllerAnimated:YES];
}
4

2 に答える 2

1

最初に、ログインに成功したときに Web ページが表示される URL を特定します。

http://website/logedin
. を実装UIWebViewDelegateし、そのアドレスに対してリクエストが行われたことを検出します。

- (BOOL)webView:(UIWebView *)wv shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
  if ([[request.URL absoluteString] isEqualToString:@"http://website/logedin"]) {
    [self dismissModalViewControllerAnimated:YES];
    return NO;
  }
  return YES;
}
于 2010-10-22T19:39:36.713 に答える
0

以下のサンプルコードで試すことができます;


@interface WebViewController : UIViewController  {
}

UIWebViewDelegate にはデリゲート メソッドがほとんどないため、WebViewController.m に実装する必要があります (たとえば)。


-(void) webViewDidStartLoad:(UIWebView *)webView{
}
-(void) webViewDidFinishLoad:(UIWebView *)webView{
    -(void) webViewDidFinishLoad:(UIWebView *)webView
}
-(void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
}
この前に、Interface Builder から UIWebView のデリゲートを設定する必要があります。

于 2010-10-22T20:09:40.950 に答える