1

我有一个视图和一个按钮。当按钮被按下时,我展示了一个模态视图控制器,它有一个 uiwebview,顶部有一个导航栏。硬编码的 uiwebview 显示登录提示。一旦用户进入并输入正确的登录凭据并在键盘上点击 GO,我不仅需要它来验证我进入服务器的身份,还需要关闭模态视图控制器。

请注意,我输入数据的文本字段是加载到 uiwebview 中的网站的一部分...

当我现在按 Enter 键时,网页进行了身份验证,一切都很顺利,但我只需要一种方法来绑定

[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

首先确定网页在成功登录时将您带到的 URL,假设它是

http://网站/登录
. 实现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 回答