WebViewController.m 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // WebViewController.m
  3. // KeyboardTextFieldDemo
  4. #import "WebViewController.h"
  5. @interface WebViewController ()<UIPopoverPresentationControllerDelegate>
  6. @end
  7. @implementation WebViewController
  8. {
  9. UIActivityIndicatorView *activity;
  10. }
  11. #pragma mark - View lifecycle
  12. - (void)viewDidLoad
  13. {
  14. [super viewDidLoad];
  15. NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.gmail.com"]];
  16. [_webView loadRequest:request];
  17. activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
  18. [activity setHidesWhenStopped:YES];
  19. self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activity];
  20. }
  21. - (void)webViewDidStartLoad:(UIWebView *)webView
  22. {
  23. [activity startAnimating];
  24. }
  25. - (void)webViewDidFinishLoad:(UIWebView *)webView
  26. {
  27. [activity stopAnimating];
  28. }
  29. - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
  30. {
  31. [activity stopAnimating];
  32. }
  33. -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
  34. {
  35. if ([segue.identifier isEqualToString:@"SettingsNavigationController"])
  36. {
  37. segue.destinationViewController.modalPresentationStyle = UIModalPresentationPopover;
  38. segue.destinationViewController.popoverPresentationController.barButtonItem = sender;
  39. CGFloat heightWidth = MAX(CGRectGetWidth([[UIScreen mainScreen] bounds]), CGRectGetHeight([[UIScreen mainScreen] bounds]));
  40. segue.destinationViewController.preferredContentSize = CGSizeMake(heightWidth, heightWidth);
  41. segue.destinationViewController.popoverPresentationController.delegate = self;
  42. }
  43. }
  44. - (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller
  45. {
  46. return UIModalPresentationNone;
  47. }
  48. -(void)prepareForPopoverPresentation:(UIPopoverPresentationController *)popoverPresentationController
  49. {
  50. [self.view endEditing:YES];
  51. }
  52. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  53. {
  54. return YES;
  55. }
  56. - (BOOL)shouldAutorotate
  57. {
  58. return YES;
  59. }
  60. @end