OC WKWebView 狀態列空白,頁面顯示不能佔滿,以及播放音樂等問題

weixin_34019929發表於2018-08-21

在使用WKWebView展示頁面時,通常希望全屏展示,但是介面上方與預留狀態列的高度,這就不是理想的全屏效果。

有兩種思路

一種是APP不顯示狀態列
另外就是修改WKWebView的顯示屬性(iOS 11開始支援)


//設定監聽

    WKUserContentController* userContentController = [[WKUserContentController alloc] init];

    [userContentController addScriptMessageHandler:self name:@"app”];

    // 設定偏好設定

    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];

    config.userContentController = userContentController;

    //解決音樂播放問題

    config.allowsInlineMediaPlayback = YES;

    config.mediaPlaybackRequiresUserAction = false;


//解決狀態列空白問題   

    _webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0,  kDEVICEWIDTH, kDEVICEHEIGHT ) configuration:config];

    if (@available(iOS 11.0, *)) {

        self.webView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

    } else {
        self.edgesForExtendedLayout = UIRectEdgeNone;
    }

    _webView.scrollView.bounces = YES;
    _webView.navigationDelegate = self;
    _webView.scrollView.showsVerticalScrollIndicator = NO;
    [self.view addSubview:_webView];

    NSString* urlString;

    //頁面載入邏輯

    [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@“https://www.baidu.com”]]];


相關文章