Skip to content

Commit fe4ddec

Browse files
authored
Merge pull request #164 from TransitApp/feature/add-custom-activities
Feature/add custom activities
2 parents 778b434 + a08b2fc commit fe4ddec

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

SVWebViewController/SVModalWebViewController.h

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#import <UIKit/UIKit.h>
1010

11+
@class SVWebViewController;
1112
@class SVModalWebViewController;
1213

1314
typedef NS_ENUM(NSUInteger, SVWebViewControllerDismissButtonStyle) {
@@ -28,6 +29,8 @@ typedef NS_ENUM(NSUInteger, SVWebViewControllerDismissButtonStyle) {
2829
- (instancetype)initWithURL:(NSURL *)URL;
2930
- (instancetype)initWithURLRequest:(NSURLRequest *)request;
3031

32+
@property (nonatomic, readonly) SVWebViewController *webViewController;
33+
3134
@property (nonatomic, strong) UIColor *barsTintColor;
3235
@property (nonatomic, weak) id<SVModalWebViewControllerDelegate> webViewDelegate;
3336
@property (nonatomic, assign) SVWebViewControllerDismissButtonStyle dismissButtonStyle;

SVWebViewController/SVWebViewController.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@
88

99
@interface SVWebViewController : UIViewController
1010

11-
- (instancetype)initWithAddress:(NSString*)urlString;
12-
- (instancetype)initWithURL:(NSURL*)URL;
11+
- (instancetype)initWithAddress:(NSString *)urlString;
12+
- (instancetype)initWithURL:(NSURL *)URL;
1313
- (instancetype)initWithURLRequest:(NSURLRequest *)request;
1414

1515
@property (nonatomic, weak) id<UIWebViewDelegate> delegate;
16+
@property (nonatomic, readonly) UIWebView *webView;
17+
@property (nonatomic, strong) NSMutableArray<UIActivity *> *activities;
1618

1719
@end

SVWebViewController/SVWebViewController.m

+12-3
Original file line numberDiff line numberDiff line change
@@ -281,13 +281,11 @@ - (void)stopTapped:(UIBarButtonItem *)sender {
281281
- (void)actionButtonTapped:(id)sender {
282282
NSURL *url = self.webView.request.URL ? self.webView.request.URL : self.request.URL;
283283
if (url != nil) {
284-
NSArray *activities = @[[SVWebViewControllerActivitySafari new], [SVWebViewControllerActivityChrome new]];
285-
286284
if ([[url absoluteString] hasPrefix:@"file:///"]) {
287285
UIDocumentInteractionController *dc = [UIDocumentInteractionController interactionControllerWithURL:url];
288286
[dc presentOptionsMenuFromRect:self.view.bounds inView:self.view animated:YES];
289287
} else {
290-
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[url] applicationActivities:activities];
288+
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[url] applicationActivities:self.activities];
291289

292290
#ifdef __IPHONE_8_0
293291
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1 &&
@@ -308,4 +306,15 @@ - (void)doneButtonTapped:(id)sender {
308306
[self dismissViewControllerAnimated:YES completion:NULL];
309307
}
310308

309+
- (NSMutableArray<UIActivity *> *)activities {
310+
if (!_activities) {
311+
_activities = [NSMutableArray arrayWithArray:SVWebViewController.defaultActivities];
312+
}
313+
return _activities;
314+
}
315+
316+
+ (NSArray<UIActivity *> *)defaultActivities {
317+
return @[[SVWebViewControllerActivitySafari new], [SVWebViewControllerActivityChrome new]];
318+
}
319+
311320
@end

0 commit comments

Comments
 (0)