// // WebViewController.m // KeyboardTextFieldDemo #import "WebViewController.h" @interface WebViewController () @end @implementation WebViewController { UIActivityIndicatorView *activity; } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.gmail.com"]]; [_webView loadRequest:request]; activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; [activity setHidesWhenStopped:YES]; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activity]; } - (void)webViewDidStartLoad:(UIWebView *)webView { [activity startAnimating]; } - (void)webViewDidFinishLoad:(UIWebView *)webView { [activity stopAnimating]; } - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { [activity stopAnimating]; } -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"SettingsNavigationController"]) { segue.destinationViewController.modalPresentationStyle = UIModalPresentationPopover; segue.destinationViewController.popoverPresentationController.barButtonItem = sender; CGFloat heightWidth = MAX(CGRectGetWidth([[UIScreen mainScreen] bounds]), CGRectGetHeight([[UIScreen mainScreen] bounds])); segue.destinationViewController.preferredContentSize = CGSizeMake(heightWidth, heightWidth); segue.destinationViewController.popoverPresentationController.delegate = self; } } - (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller { return UIModalPresentationNone; } -(void)prepareForPopoverPresentation:(UIPopoverPresentationController *)popoverPresentationController { [self.view endEditing:YES]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; } - (BOOL)shouldAutorotate { return YES; } @end