2016-11-05 2 views
1

У меня есть страница в моем приложении, которая отображает WKWebView. Он отлично выглядит на iPhone, но не выглядит так хорошо на iPad.Загрузить версию iPhone в WKWebView на iPad?

На iPad страница слишком большая и обрезается, поэтому вам нужно прокручивать ее по горизонтали. Это выглядит не очень хорошо, и это плохо работает, поскольку это находится в контроллере просмотра страниц. Я хочу, чтобы все было на странице. Есть ли способ загрузить версию iPhone на странице, даже на iPad? Или есть другое решение, которое я могу использовать?

WKWebView on iPhone

WKWebView on iPhone

+0

Может быть, автоотключение и размерный класс - это то, что вы хотите, я думаю! –

+0

Веб-камера сама по себе изменяется в размерах. Просто контент внутри него больше, чем кадр webview, поэтому он прокручивается. – CompC

ответ

0

Чтобы загрузить версию iPhone сайта на IPAD, вы должны изменить агента пользователя вашего веб-просмотра. Во-первых, вам нужно найти соответствующее значение агента пользователя. Перейдите на сайт www.whatismyuseragent.net с вашего iPhone. После этого измените WKWebView агента пользователя:

webView.customUserAgent = @"Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A366 Safari/600.1.4"; 

Конечно, в реальном мире, вам потребуется всего лишь заменить вхождения «IPad» с «iPhone» в вашем пользовательском агенте. Что-то вроде:

[webView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id __nullable userAgent, NSError * __nullable error) { 
    webView.customUserAgent = [userAgent stringByReplacingOccurrencesOfString:@"iPad" withString:@"iPhone"]; 
    // Start actual site loading. 
} 

Очевидно, что вам нужно сделать это, прежде чем загружать фактическую веб-страницу.

+0

Я действительно пробовал это, так как я разместил это, и это не имело никакого значения. – CompC

Смежные вопросы