#import "ViewController.h"
#import <WebKit/WebKit.h>
@interface ViewController ()
/// web
@property (nonatomic, strong) WKWebView *webView;
/// view
@property (nonatomic, strong) UIView *bottomView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self creatWebView];
}
- (UIView *)bottomView {
if (!_bottomView) {
_bottomView = [[UIView alloc] init];
_bottomView.backgroundColor = [UIColor yellowColor];
}
return _bottomView;
}
// MARK: - 注释
- (void)creatWebView {
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height) configuration:config];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.apple.com"]];
[_webView loadRequest:request];
[self.view addSubview:_webView];
// 添加通知,监测scrollView的内容长度
[_webView.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"contentSize"]) {
CGSize size = [[change objectForKey:@"new"] CGSizeValue];
NSLog(@"%f", size.height);
[self otherSettings];
}
}
// MARK: - 注释
- (void)otherSettings {
self.webView.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 200, 0);
CGFloat y = self.webView.scrollView.contentSize.height;
[self.webView.scrollView addSubview:self.bottomView];
self.bottomView.frame = CGRectMake(0, y, self.view.frame.size.width, 200);
}
- (void)dealloc
{
[_webView.scrollView removeObserver:self forKeyPath:@"contentSize"];
}
