Мой контроллер с разделенным представлением не отображает панель инструментов. Как удалить эффект блеска панели инструментов с фона в табличном представлении?

Я работаю над приложением на основе шаблона приложения Master-Detail в Xcode 4.3.3. Я заметил странный артефакт во всплывающем окне представления основной таблицы в портретном режиме. Вот скриншот странности. (Я конкретно имею в виду эффект блеска в области, которая может содержать панель инструментов.)

http://www.appsbyallen.com/images/stackoverflow/Menu.png

Вот шаги, чтобы воспроизвести эту проблему.

1) Создайте новый проект на основе приложения Master-Detail.

2) Откройте раскадровку iPad и измените стиль представления таблицы с простого на сгруппированный.

3) В viewDidLoad MasterViewController добавьте либо «self.tableView.backgroundView.alpha = 0.0», либо «self.tableView.backgroundView = nil». Я пробовал оба.

4) Запустите приложение в симуляторе iPad в портретном режиме. Нажмите кнопку «Мастер». Обратите внимание на странность.

Мое намерение состоит в том, чтобы позволить контроллеру подробного представления отображать всплывающее окно.

Это ошибка в коде Apple? Или я что-то не так здесь делаю? Тестовый случай кажется таким простым.

Спасибо.


person askees    schedule 09.07.2012    source источник
comment
Несмотря на то, что этот вопрос довольно старый, он все еще мог бы иметь значение, если бы изображение было включено. Поскольку ссылка не работает, и вопрос, и ответ бессмысленны, но все еще перечислены.   -  person jerry    schedule 04.08.2021


Ответы (1)


Я определил способ обойти эту проблему.

В viewDidLoad MasterViewController покажите панель инструментов с помощью

  • self.navigationController.toolbarHidden = НЕТ;

Затем в представлении MasterViewControllerWillAppear снова скройте его с помощью

  • self.navigationController.toolbarHidden = ДА;

И затем снова покажите это в представлении MasterViewControllerDidDisappear с помощью

  • self.navigationController.toolbarHidden = НЕТ;

Все три случая являются обязательными. Эффект блеска создается только в том случае, если панель инструментов скрыта, а представление не отображается.

Я надеюсь, что это поможет кому-то еще!

person askees    schedule 10.07.2012