-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Copy pathSVModalWebViewController.m
70 lines (49 loc) · 2.01 KB
/
SVModalWebViewController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//
// SVModalWebViewController.m
//
// Created by Oliver Letterer on 13.08.11.
// Copyright 2011 Home. All rights reserved.
//
// https://github.com/samvermette/SVWebViewController
#import "SVModalWebViewController.h"
#import "SVWebViewController.h"
@interface SVModalWebViewController ()
@property (nonatomic, strong) SVWebViewController *webViewController;
@end
@interface SVWebViewController (DoneButton)
- (void)doneButtonTapped:(id)sender;
@end
@implementation SVModalWebViewController
#pragma mark - Initialization
- (instancetype)initWithAddress:(NSString*)urlString {
return [self initWithURL:[NSURL URLWithString:urlString]];
}
- (instancetype)initWithURL:(NSURL *)URL {
return [self initWithURLRequest:[NSURLRequest requestWithURL:URL]];
}
- (instancetype)initWithURLRequest:(NSURLRequest *)request {
self.webViewController = [[SVWebViewController alloc] initWithURLRequest:request];
if (self = [super initWithRootViewController:self.webViewController]) {
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
target:self.webViewController
action:@selector(doneButtonTapped:)];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
self.webViewController.navigationItem.leftBarButtonItem = doneButton;
else
self.webViewController.navigationItem.rightBarButtonItem = doneButton;
}
return self;
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:NO];
self.webViewController.title = self.title;
self.navigationBar.tintColor = self.barsTintColor;
}
#pragma mark - Delegate
- (void)setWebViewDelegate:(id<UIWebViewDelegate>)webViewDelegate {
self.webViewController.delegate = webViewDelegate;
}
- (id<UIWebViewDelegate>)webViewDelegate {
return self.webViewController.delegate;
}
@end