2017-06-06 100 views
0

從iOS 11開始,當UIWebView爲全屏時,狀態欄上會出現假背景,背景色爲UIWebView如何擺脫UIWebView上的狀態欄背景?

任何人都知道如何擺脫它?

即使添加了IUWebView到故事板,並使其全屏將使狀態欄背景出現

我一直在努力的他們合作編輯的大小和UIWebView的其他一些性質和無,但它絕對是來自UIWebView的東西。 也試圖看到所有的子視圖和它的大小,並沒有看到任何奇怪的東西。

附加了屏幕截圖,看到灰色的「狀態欄」,它在滾動時消失,並且如果UIWebView不在屏幕的該部分上,則不會出現。 我想要它作爲第二個屏幕截圖,只刪除假背景,而不是狀態欄。

See the Screenshot enter image description here

回答

5

出現這種情況是因爲UIScrollView新的行爲調整內容嵌入到包括安全區的插圖一樣的狀態欄。

要解決它,只需將其設置爲UIScrollViewContentInsetAdjustmentNever

[self.webView.scrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever]; 

由於iOS的11 Beta 4的,你可以添加到您的視口,也將刪除假狀態欄

viewport-fit=cover

3

要做到這完全在HTML/CSS中,視口元標記中的viewport-fit=cover是處理此問題的正確方法。

但是,您還需要動態調整填充以處理iPhone X上帶有凹槽的相機/揚聲器的不同大小的狀態欄。

幸運的是,蘋果公司暴露的安全區域插圖一些CSS常量,所以你可以把那些在你的CSS的優勢: 即padding-top: constant(safe-area-inset-top);

我寫了一些關於這個場景,並針對iOS的新功能11和iPhone X:https://ayogo.com/blog/ios11-viewport/

0

斯威夫特版本:

webView.scrollView.contentInsetAdjustmentBehavior = .never