From f83b2e4e0fa325692fa807675e091e6c36a92cfe Mon Sep 17 00:00:00 2001 From: Jason Hsu Date: Tue, 14 Jan 2014 19:13:58 -0800 Subject: [PATCH 1/2] fix UI bug on iOS 7 iPhone --- SVWebViewController/SVWebViewController.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SVWebViewController/SVWebViewController.m b/SVWebViewController/SVWebViewController.m index 2e08ebc..1c9c360 100644 --- a/SVWebViewController/SVWebViewController.m +++ b/SVWebViewController/SVWebViewController.m @@ -60,7 +60,7 @@ - (id)initWithURL:(NSURL*)pageURL { } - (void)loadURL:(NSURL *)pageURL { - [self.webView loadRequest:[NSURLRequest requestWithURL:pageURL]]; + [self.webView loadHTMLString:@"" baseURL:nil]; } #pragma mark - View lifecycle @@ -232,6 +232,10 @@ - (void)webViewDidStartLoad:(UIWebView *)webView { - (void)webViewDidFinishLoad:(UIWebView *)webView { [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; + if ([webView.request.URL.absoluteString isEqualToString:@"about:blank"]) { + [self.webView loadRequest:[NSURLRequest requestWithURL:self.URL]]; + return; + } self.navigationItem.title = [webView stringByEvaluatingJavaScriptFromString:@"document.title"]; [self updateToolbarItems]; From a025062924224bdf113bdec0dc96dbd982338284 Mon Sep 17 00:00:00 2001 From: Jason Hsu Date: Mon, 22 Sep 2014 14:28:43 +0800 Subject: [PATCH 2/2] Support WeChat --- SVWebViewController/SVModalWebViewController.m | 7 ++++++- SVWebViewController/SVWebViewController.h | 2 ++ SVWebViewController/SVWebViewController.m | 18 +++++++++++------- .../da.lproj/SVWebViewController.strings | 5 ----- .../en.lproj/SVWebViewController.strings | 3 --- .../es-ES.lproj/SVWebViewController.strings | 3 --- .../es.lproj/SVWebViewController.strings | 3 --- .../fr.lproj/SVWebViewController.strings | 3 --- .../ja.lproj/SVWebViewController.strings | 2 -- .../zh-Hans.lproj/SVWebViewController.strings | 6 ------ .../zh-Hant.lproj/SVWebViewController.strings | 3 --- 11 files changed, 19 insertions(+), 36 deletions(-) delete mode 100644 SVWebViewController/da.lproj/SVWebViewController.strings delete mode 100644 SVWebViewController/en.lproj/SVWebViewController.strings delete mode 100644 SVWebViewController/es-ES.lproj/SVWebViewController.strings delete mode 100644 SVWebViewController/es.lproj/SVWebViewController.strings delete mode 100644 SVWebViewController/fr.lproj/SVWebViewController.strings delete mode 100644 SVWebViewController/ja.lproj/SVWebViewController.strings delete mode 100644 SVWebViewController/zh-Hans.lproj/SVWebViewController.strings delete mode 100644 SVWebViewController/zh-Hant.lproj/SVWebViewController.strings diff --git a/SVWebViewController/SVModalWebViewController.m b/SVWebViewController/SVModalWebViewController.m index f801fa2..ddbac34 100644 --- a/SVWebViewController/SVModalWebViewController.m +++ b/SVWebViewController/SVModalWebViewController.m @@ -29,7 +29,7 @@ - (id)initWithURL:(NSURL *)URL { self.webViewController = [[SVWebViewController alloc] initWithURL:URL]; if (self = [super initWithRootViewController:self.webViewController]) { UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone - target:self.webViewController + target:self action:@selector(doneButtonClicked:)]; if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) @@ -47,4 +47,9 @@ - (void)viewWillAppear:(BOOL)animated { self.navigationBar.tintColor = self.barsTintColor; } +- (void)doneButtonClicked:(id)sender +{ + [self.webViewController dismissViewControllerAnimated:YES completion:NULL]; +} + @end diff --git a/SVWebViewController/SVWebViewController.h b/SVWebViewController/SVWebViewController.h index 42e9dfe..c2cf068 100644 --- a/SVWebViewController/SVWebViewController.h +++ b/SVWebViewController/SVWebViewController.h @@ -10,6 +10,8 @@ @interface SVWebViewController : UIViewController +@property (nonatomic, strong) UIWebView *webView; + - (id)initWithAddress:(NSString*)urlString; - (id)initWithURL:(NSURL*)URL; diff --git a/SVWebViewController/SVWebViewController.m b/SVWebViewController/SVWebViewController.m index 1c9c360..9e81478 100644 --- a/SVWebViewController/SVWebViewController.m +++ b/SVWebViewController/SVWebViewController.m @@ -18,7 +18,6 @@ @interface SVWebViewController () @property (nonatomic, strong) UIBarButtonItem *stopBarButtonItem; @property (nonatomic, strong) UIBarButtonItem *actionBarButtonItem; -@property (nonatomic, strong) UIWebView *webView; @property (nonatomic, strong) NSURL *URL; - (id)initWithAddress:(NSString*)urlString; @@ -266,14 +265,19 @@ - (void)stopClicked:(UIBarButtonItem *)sender { } - (void)actionButtonClicked:(id)sender { - NSArray *activities = @[[SVWebViewControllerActivitySafari new], [SVWebViewControllerActivityChrome new]]; - + NSMutableArray *activities = @[].mutableCopy; + [activities addObject:[SVWebViewControllerActivitySafari new]]; + [activities addObject:[SVWebViewControllerActivityChrome new]]; + SVWebViewControllerActivity *weixinActivity = [NSClassFromString(@"HSUActivityWeixin") new]; +// [weixinActivity performSelector:@selector(setShareTitle) withObject:self.navigationItem.title]; + [weixinActivity performSelector:@selector(setShareDescription:) withObject:self.navigationItem.title]; + SVWebViewControllerActivity *weixinMomentsActivity = [NSClassFromString(@"HSUActivityWeixinMoments") new]; +// [weixinMomentsActivity performSelector:@selector(setShareTitle) withObject:self.navigationItem.title]; + [weixinMomentsActivity performSelector:@selector(setShareDescription:) withObject:self.navigationItem.title]; + [activities addObject:weixinActivity]; + [activities addObject:weixinMomentsActivity]; UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[self.self.webView.request.URL] applicationActivities:activities]; [self presentViewController:activityController animated:YES completion:nil]; } -- (void)doneButtonClicked:(id)sender { - [self dismissViewControllerAnimated:YES completion:NULL]; -} - @end diff --git a/SVWebViewController/da.lproj/SVWebViewController.strings b/SVWebViewController/da.lproj/SVWebViewController.strings deleted file mode 100644 index 56b673e..0000000 --- a/SVWebViewController/da.lproj/SVWebViewController.strings +++ /dev/null @@ -1,5 +0,0 @@ -// Copyright (c) 2013 Anders Fogh Eriksen -"Open in Safari" = "Åbn i Safari"; -"Open in Chrome" = "Åbn i Chrome"; -"Copy Link" = "Kopier Link"; -"Mail Link to this Page" = "Mail Link til denne side"; \ No newline at end of file diff --git a/SVWebViewController/en.lproj/SVWebViewController.strings b/SVWebViewController/en.lproj/SVWebViewController.strings deleted file mode 100644 index 77fdeb3..0000000 --- a/SVWebViewController/en.lproj/SVWebViewController.strings +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright (c) 2013 Alex Ruperez -"Open in Safari" = "Open in Safari"; -"Open in Chrome" = "Open in Chrome"; \ No newline at end of file diff --git a/SVWebViewController/es-ES.lproj/SVWebViewController.strings b/SVWebViewController/es-ES.lproj/SVWebViewController.strings deleted file mode 100644 index 1021f64..0000000 --- a/SVWebViewController/es-ES.lproj/SVWebViewController.strings +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright (c) 2013 Alex Ruperez -"Open in Safari" = "Abrir en Safari"; -"Open in Chrome" = "Abrir en Chrome"; \ No newline at end of file diff --git a/SVWebViewController/es.lproj/SVWebViewController.strings b/SVWebViewController/es.lproj/SVWebViewController.strings deleted file mode 100644 index 1021f64..0000000 --- a/SVWebViewController/es.lproj/SVWebViewController.strings +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright (c) 2013 Alex Ruperez -"Open in Safari" = "Abrir en Safari"; -"Open in Chrome" = "Abrir en Chrome"; \ No newline at end of file diff --git a/SVWebViewController/fr.lproj/SVWebViewController.strings b/SVWebViewController/fr.lproj/SVWebViewController.strings deleted file mode 100644 index 6fff9d7..0000000 --- a/SVWebViewController/fr.lproj/SVWebViewController.strings +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright (c) 2013 Benjamin Michotte -"Open in Safari" = "Ouvrir dans Safari"; -"Open in Chrome" = "Ouvrir dans Chrome"; \ No newline at end of file diff --git a/SVWebViewController/ja.lproj/SVWebViewController.strings b/SVWebViewController/ja.lproj/SVWebViewController.strings deleted file mode 100644 index bc9ef3b..0000000 --- a/SVWebViewController/ja.lproj/SVWebViewController.strings +++ /dev/null @@ -1,2 +0,0 @@ -"Open in Safari" = "サファリで開く"; -"Open in Chrome" = "Chromeで開く"; \ No newline at end of file diff --git a/SVWebViewController/zh-Hans.lproj/SVWebViewController.strings b/SVWebViewController/zh-Hans.lproj/SVWebViewController.strings deleted file mode 100644 index 5926fea..0000000 --- a/SVWebViewController/zh-Hans.lproj/SVWebViewController.strings +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright (c) 2013 James Stout -"Open in Safari" = "在Safari中打开"; -"Open in Chrome" = "在Chrome中打开"; -"Copy Link" = "复制网页链接"; -"Mail Link to this Page" = "以电邮传送此页链接"; -"Cancel"="取消"; diff --git a/SVWebViewController/zh-Hant.lproj/SVWebViewController.strings b/SVWebViewController/zh-Hant.lproj/SVWebViewController.strings deleted file mode 100644 index af4f4a4..0000000 --- a/SVWebViewController/zh-Hant.lproj/SVWebViewController.strings +++ /dev/null @@ -1,3 +0,0 @@ -// Copyright (c) 2013 James Stout -"Open in Safari" = "打開Safari"; -"Open in Chrome" = "打開Chrome"; \ No newline at end of file