Остановить исчезновение UIToolbar в альбомной ориентации - iPad - PullRequest
3 голосов
/ 09 марта 2011

Не уверен, почему это происходит или как это остановить, мой UIToolBar на деталях viewcontroller виден только во время портретного просмотра.Я хочу, чтобы это было видно во всех направлениях.Как я могу это сделать?Спасибо.

Ответы [ 3 ]

14 голосов
/ 25 мая 2011

Я столкнулся с той же проблемой, просто перетащив UIToolBar на мой вид и закрепив его в верхней части окна. Это обнаружилось в пейзаже, но не в портрете. Интерфейсный Разработчик - по крайней мере тот, который встроен в Xcode 4 - кажется, не правильно делает с масками изменения размера.

Хотя приведенный выше ответ Кшитиза сработает, у него есть пара недостатков. Как закодировано, это не поддерживает все четыре ориентации. Что еще более важно, это не зависит от разрешения.

Лучшее решение кратко описано в комментарии enamrik, поэтому следует отдать ему должное. Вот шаги:

  1. Выберите панель инструментов в Интерфейсном Разработчике.
  2. Откройте инспектор размера.
  3. В поле «Авторазмер» выберите левую, правую и верхнюю «двутавровые балки» на внешней стороне квадрата. Это сохраняет положение панели инструментов фиксированным относительно сторон вида при изменении размера вида.
  4. Внутри квадрата Авторазмера выберите горизонтальную линию со стрелками на обоих концах. Это приводит к тому, что размер панели инструментов изменяется синхронно с родительским представлением.
0 голосов
/ 05 июля 2018

Столкнулся с той же проблемой, когда я программно добавил UIPickerView и добавил UIToolBar для PickerView.Просто нужно добавить [.flexibleWidth,.flexibleHeight] для UIPickerView.Например: -

let statTypePicker = UIPickerView()

А затем добавить

 self.statTypePicker.autoresizingMask = [.flexibleWidth,.flexibleHeight]
0 голосов
/ 09 марта 2011

в вашей этой функции контроллера вида сбрасывается рамка просмотра, брат

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Override to allow orientations other than the default portrait orientation.
    if (interfaceOrientation==UIInterfaceOrientationLandscapeLeft || interfaceOrientation==UIInterfaceOrientationLandscapeRight) {
        self.view.frame = CGRectMake(0, 0, 703,768);    

        } else {
        self.view.frame = CGRectMake(0, 0, 768, 1024);
        }


    return YES;
}

, а рамка панели инструментов тоже удачи

...