Search code examples
iphoneiosuiviewcontrolleruiwebviewuiwebviewdelegate

iOS - dismissModalViewController not working


A tap on ShowWebsiteButton on MainViewController shows a Website on WebViewController. A tap on CloseWebViewButton on WebViewController should dismiss the WebViewController and show me the MainViewController again. NOTE: MainViewController opens the WebViewController successfully and the website gets loaded, I'm just unable to get back to MainViewController.

MainViewController.h

@interface MainViewController : UIViewController <UIWebViewDelegate>
@property (strong, nonatomic) WebViewController *webViewController;

MainViewController.m

   - (IBAction)showWebsiteButton:(id)sender {

        NSString *fullURL = @"http://www.apple.com"

        self.webViewController.delegate = self;

        self.webViewController.websiteName = fullURL;

        self.webViewController.serviceName = @"Apple";

        [self.view addSubview:self.webViewController.view];
    }


- (void)webViewDidFinishLoad:(UIWebView *)webView
{
             [self dismissModalViewControllerAnimated:YES];
}

WebViewController.h

@property id <UIWebViewDelegate>delegate;

WebViewController.m

- (IBAction)closeBtnTapped:(id)sender {

   [self.delegate webViewDidFinishLoad:self.webView];
}

Solution

  • You are not using presentModalViewController in your code. You are just adding the webView as a subview.