【问题标题】:How can I dismissModalViewController when a user hits GO?当用户点击 GO 时,如何关闭模态视图控制器?
【发布时间】:2011-04-29 08:23:02
【问题描述】:

我有一个视图和一个按钮。当按钮被按下时,我展示了一个模态视图控制器,它有一个 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];
}

【问题讨论】:

    标签: iphone delegates uiwebview modalviewcontroller dismiss


    【解决方案1】:

    首先确定网页在成功登录时带你去的 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;
    }

    【讨论】:

      【解决方案2】:

      你可以试试下面的示例代码;

      
      @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 设置委托。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-01
        • 2014-10-03
        • 1970-01-01
        相关资源
        最近更新 更多