Iphone x теряет нижнюю панель инструментов. Как установить вид в безопасную область макета?

Я использую wk webview и свою собственную панель инструментов в своем приложении. Я установил ограничения для верхней части моего веб-просмотра на **безопасную область макета**, как описано в https://medium.com/@hassanahmedkhan/playing-it-safe-with-safe-area-layout-guide-b3f09bdc71fe и следующие изображение: введите здесь описание изображения

Мое изображение iphone X выглядит следующим образом с дополнительным пустым пространством сверху и снизу, и мне не хватает нижней панели инструментов. ** Обратите внимание, что черная область просто заблокирована, чтобы не показывать местоположение. Это типичная карта Google. **

введите здесь описание изображения

Я хочу, чтобы это выглядело так (ПРИМЕЧАНИЕ: нижняя полоса и правильная посадка - без пробелов, как в версии iphone x.)

введите здесь описание изображения

Мой код, который устанавливает размер веб-фрейма (верхняя часть), выглядит следующим образом: введите описание изображения здесь Есть ли способ установить мое представление в самой безопасной области макета/рамке?< /сильный>

Опять же, я устанавливаю ограничения на безопасную область макета, как описано в приведенной выше гиперссылке. Что мне нужно сделать, чтобы исправить версию iphone x? (ПРИМЕЧАНИЕ: когда я говорю правильно, я имею в виду

  1. удалить верхнее белое пространство
  2. убрать пробел внизу
  3. иметь МОЮ панель инструментов, как показано в версии iphone 7 внизу

    Спасибо.


person Lillian    schedule 02.03.2018    source источник
comment
На iPhone X ваше приложение все равно должно занимать весь экран. Какую версию SDK/Xcode вы используете?   -  person d4Rk    schedule 02.03.2018
comment
Пожалуйста, не публикуйте скриншоты вашего кода; скопируйте его и используйте синтаксис кода уценки, чтобы выделить его.   -  person brandonscript    schedule 02.03.2018
comment
Я использую Xcode 9.2.   -  person Lillian    schedule 02.03.2018
comment
Для какой целевой версии iOS вы создаете, и есть ли у вас экраны запуска, соответствующие размеру iPhone X?   -  person brandonscript    schedule 02.03.2018
comment
Цель развертывания 9.0 (из экрана «Общие» -> «Информация о развертывании»). И у меня вообще нет никаких образов запуска. (Я новичок в xcode).   -  person Lillian    schedule 02.03.2018
comment
Просто мысль - КТО-НИБУДЬ ЗНАЕТ, КАК В OBJECTIVE-C Я МОГУ ПОЛУЧИТЬ ГРАНИЦЫ/КАДР БЕЗОПАСНОЙ ОБЛАСТИ САМОСТОЯТЕЛЬНО И ПРОСТО ИСПОЛЬЗОВАТЬ ЭТО? Спасибо.   -  person Lillian    schedule 03.03.2018


Ответы (1)


У меня появилась панель инструментов. У меня все еще есть лишнее пустое место, юк! Если у кого-то есть идеи, как исправить, буду очень признателен.

Я изменил свой код на это:

   // Iphone x does not show tool bar and has extra padding so need to change
UIWindow *mainWindow = [[[UIApplication sharedApplication] delegate] window];

    CGFloat top = 0 ;
    CGFloat bottom = 0 ;
    bool iphoneX = NO;
    if (@available(iOS 11.0, *)) {
        top = mainWindow.safeAreaInsets.top ;
        bottom = mainWindow.safeAreaInsets.bottom ;
        if (top > 0.0) { //only have on iphonex where not zero
            iphoneX = YES;
        }
    }
    if (iphoneX)
    {
        rightSizeFrame.size.height = mainWindow.frame.size.height - top - bottom ;// notice subtracting the tool bar height instead of top and bottom did not work! - ( 1*TOOLBAR_HEIGHT) ; // need the bottom to see the tool bar not sure why
        rightSizeFrame.origin.y = 0 ; // no top whitespace
    }


    // will this set the right size aand POSITION
    [[ self webView] setFrame:rightSizeFrame] ;

    // then stick the new webView8 into the frame
    _webView8 = [[WKWebView alloc] initWithFrame:self.webView.frame
                                  configuration:configuration];

Мне нужна была высота, чтобы нижняя и верхняя части были удалены из оконной рамы, чтобы отображалась моя панель инструментов. К сожалению, как и на изображении в моем первом посте, у меня все еще есть лишнее пустое пространство сверху и снизу веб-представления. И теперь у меня есть серое пространство внизу панели инструментов. Это выглядит ужасно, но, по крайней мере, функционально. У кого-нибудь есть идеи, почему лишнее белое и серое пространство? Я действительно удивлен, что не получил ответов. Я упускаю что-то очевидное?

person Lillian    schedule 08.03.2018