WebviewController.m 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //
  2. // WebviewController.m
  3. // Pods
  4. //
  5. // Created by Toufik Zitouni on 6/17/17.
  6. //
  7. //
  8. #import "WebviewController.h"
  9. #import "FlutterWebviewPlugin.h"
  10. @interface WebviewController ()
  11. @property (nonatomic, retain) NSString *url;
  12. @property NSNumber *withJavascript;
  13. @property NSNumber *clearCache;
  14. @property NSNumber *clearCookies;
  15. @end
  16. @implementation WebviewController
  17. - (instancetype)initWithUrl:(NSString *)url withJavascript:(NSNumber *)withJavascript clearCache:(NSNumber *)clearCache clearCookes:(NSNumber *)clearCookies {
  18. self = [super init];
  19. if (self) {
  20. self.url = url;
  21. self.withJavascript = withJavascript;
  22. self.clearCache = clearCache;
  23. self.clearCookies = clearCookies;
  24. }
  25. return self;
  26. }
  27. - (void)viewDidLoad {
  28. [super viewDidLoad];
  29. UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(backButtonPressed:)];
  30. self.navigationItem.leftBarButtonItem = backButton;
  31. UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.frame];
  32. if ([self.clearCache boolValue]) {
  33. [[NSURLCache sharedURLCache] removeAllCachedResponses];
  34. }
  35. if ([self.clearCookies boolValue]) {
  36. [[NSURLSession sharedSession] resetWithCompletionHandler:^{
  37. }];
  38. }
  39. [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.url]]];
  40. webView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
  41. [self.view addSubview:webView];
  42. }
  43. - (IBAction)backButtonPressed:(id)sender {
  44. [channel invokeMethod:@"onBackPressed" arguments:nil];
  45. [self dismissViewControllerAnimated:YES completion:nil];
  46. }
  47. @end