после добавления правого barbuttonitem к контроллеру навигации iphone SDK вид сдвигается вверх - PullRequest
2 голосов
/ 08 июня 2010

В моем приложении вид ниже контроллера навигации перемещается вверх и виден под панелью навигации, поскольку он становится прозрачным после программного добавления barbuttonitem в контроллер навигации, который я добавляю для просмотра через xib.

Вот как я это добавляю:

UIBarButtonItem *comment = [[UIBarButtonItem alloc]
                            initWithBarButtonSystemItem:UIBarButtonSystemItemCompose
                            target:self
                            action:@selector(buttonPressed)];

self.navigationItem.rightBarButtonItem = comment;

EDIT:

Хорошо, я понял, что это происходит, потому что для всех моих пользовательских ячеек другого типа, кроме одной, я загружаю файлы подробных обзоров xib в контроллер навигации для подключенных ячеек, но для этого только одного я создал контроллер вида программно и нажал на него. Поэтому до тех пор, пока я не касаюсь и не открываю эту ячейку в подробном виде, все работает нормально, но после того, как я открываю подробный вид этой ячейки (который всегда открывается нормально), подробные представления других ячеек сдвигаются.

Кто-нибудь может решить эту проблему?

Спасибо заранее.

Ответы [ 3 ]

0 голосов
/ 09 июня 2010

Разница в размере представления viewControllers:

  1. Если вы создаете его через .XIB, то у вас будет строка состояния в нем.означает, что размер вашего просмотра на 20 пикселей меньше, чем у окна.(320 * 460)

  2. Если вы создаете его программно, строка состояния не будет отображаться.Размер средства будет 320 * 480.

Таким образом, рама вида отличается ...

Поэтому установите размер вида 320 * 460 и попробуйте ...

0 голосов
/ 10 июня 2010

Хорошо, после многих трудностей, я понял, что проблема в том, что, поскольку я использую библиотеку Three20 для показа фотографий, похожих на facebook, TTPhotoviewcontorller в ней меняет стиль панели навигации вашей навигации контроллер в UIBarStyleBlackTranslucent, и вам нужно сбросить свойство стиля бара в UIBarStyleDefault. Вы должны попытаться позвонить

self.navigationController.navigationBar.bar = UIBarStyleDefault;

0 голосов
/ 08 июня 2010

Проверьте все рамки вида и для тестирования установите разные цвета для всех подвидов. Вы легко обнаружите проблему. или выложите более подробный код.

...