2016-09-27 76 views
0

我注意到這與單獨的HTML代碼,但我可以重複使用下面的網絡應用程序視圖的例子,如在混合應用程序中使用的相同的問題。爲了讓讀者瞭解這個問題最簡單的方法,我將在這裏包含這個URL(我不需要使用那個URL,我有我自己的代碼,但是這個URL做了同樣的事情,所以這是一個很好的例子。 。有人讀到此檢查)爲什麼iPhone 6和以上的wkwebview不接受底部的水龍頭?

https://framework7.io/examples/tab-bar

Image: These bottom nav bar items do not respond to touch on iPhone 6s or 6s Plus, but DO work on 5s and SE

重現:

  1. 與wkwebview創建一個簡單的iOS應用程序(你可能已經有一個從以前的項目)

  2. 只需確保webview加載上面的url,並且您將能夠觀察到問題。

如果在斯威夫特應用一個wkwebview加載在iPhone 5S或更低的全屏wkwebview內上述網址,底部的標籤菜單(與信息,收件箱,上傳和照片選擇)會工作。但是如果在iPhone 6s或6s Plus中打開,底部的標籤菜單將不起作用。您可以點擊選項,而不會發生任何事情。

重要提示:這不是在Safari中。這發生在上下文鏈接在Swift應用程序的wkwebview中打開。這是可重複的。

我已經檢查過圖層調試器,沒有任何東西在底部的選項卡中。

非常感謝。

+0

我試過在iOS 10上工作。你正在運行哪個版本。 –

+0

謝謝@ New16。我在iOS 10上以及8.1和8.2上嘗試過。我也嘗試了三種不同的iPhone。物理設備和模擬器中的相同結果。具體而言:不是在Safari中,而是在Swift項目中的WKWebView中。在iPhone 6s和6s Plus中,底部的選項卡按鈕不起作用,但在iPhone 5s和SE中按鈕確實可行。 –

回答

0

我剛剛刪除這個,但你永遠不知道。其他人稍後可能會有同樣的問題。也許這會幫助他們。

因此,這裏是我剛剛想出了答案:

我沒有加入自動限制,以確保web視圖會保持大小的窗口相同。這就是爲什麼它適用於像5s和SE這樣的小型手機(因爲webview恰好足夠大)。同時,6s和6s Plus的更大屏幕超出了web視圖的大小。

我在故事板中看到它,並添加了約束條件以確保webview可以伸展到屏幕的大小,並且一切都開始工作。較低的導航欄不再是我的水龍頭不可及的地方。

我的確認爲整個屏幕上顯示的內容很奇怪,但是隻有檢測到觸摸的區域沒有擴展到屏幕上,但這是我檢查代碼並查看事物排列方式的機會。

主要問題已解決。

+0

我認爲HTML5根據設備屏幕大小呈現網頁。這就是爲什麼你能夠正確地看到WebPage,我以編程方式添加了WKWebView。所以,我沒有看到任何問題。 –

+0

爲此歡呼! – MattJHoughton