2013-11-12 8 views
1

Я установил фоновое изображение немного больше, чем navigationBar. Изображение имеет высоту 55 пикселей. [Я хочу, чтобы изображение в баннере выглядело с лентой внизу панели навигации] Он работал нормально в iOS6. Но в iOS7, его получение обрезается само по себе. Я попытался установить [self.navigationController.navigationBar setClipsToBounds: NO];NavigationBar обрезать фоновое изображение в iOS7; ClipsToBound: NO not working

Он по-прежнему становится подстриженным. Не могу ли я получить более крупное фоновое изображение без обрезания?

+0

в IOS 7 навигации высоты бара 64pts, используйте изображение с 64pts высоты, чтобы соответствовать виду – suhit

+0

я вынесший строку состояния скрыт и установить вид контроллер внешний вид состояния на NO. Следовательно, моя высота навигационной панели равна 44 px в iOS 7. – swatiKaushik

+0

в строке состояния iOS 7 находится над навигационной панелью, даже если вы скрываете строку состояния, высота панели навигации остается такой же, то есть 64pts. Пожалуйста, обратитесь к руководству по переходу ios7 https://developer.apple.com/library/ios/documentation/userexperience/conceptual/transitionguide/Bars.html#//apple_ref/doc/uid/TP40013174-CH8-SW1 – suhit

ответ

0

Изображение не получает обрезанное, оно, скорее всего, слишком мало. UINavigationBar имеет 64 точки в iOS 7, поэтому изображение с 55 пикселями будет слишком маленьким, особенно учитывая разрешение сетчатки, где потребуется 128 пикселей.

+0

Я отобразил строку состояния скрытой и установил вид состояния панели управления View на NO. Следовательно, моя высота навигационной панели равна 44 px в iOS 7. – swatiKaushik

+0

@swatiKaushik Тем не менее вам нужно будет предоставить изображение в 88 пикселей. Предоставление 44px приведет к удлинению в сетчатых устройствах. –

+0

Очевидно, у меня есть как 44px, так и 88px изображения в моем комплекте. – swatiKaushik

1

Это связано с тем, что панель навигации Ui имеет 64 точки в ios7, поэтому это создает проблему. передать эту ссылкиhttps://developer.apple.com/library/ios/documentation/userexperience/conceptual/transitionguide/Bars.html см таблица 5-1, что это дать вам идею, что для перезначительных изображений, какие изменения в новой ios7

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

https://developer.apple.com/library/ios/documentation/uikit/reference/UIBarPositioning_Protocol/Reference/Reference.html#//apple_ref/occ/intfp/UIBarPositioning/barPosition

ред попробовать множеством этот флаг navigationBar.translucent = NO;

для получения дополнительной информации см этой ссылку iOS 7 UINavigationBar - UIView layout issue

0

набора делегата от навигационной панели к контроллеру просмотра и возврат UIBarPositionTopAttached в методе делегата. вернуть позицию, которую вы хотите видеть

- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar 

https://developer.apple.com/library/ios/documentation/uikit/reference/UIBarPositioning_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UIBarPositioning

+0

ЗДЕСЬ, https: //developer.apple.com/library/ios/documentation/uikit/reference/UIBarPositioning_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UIBarPacing, я прочитал: «Избегайте использования дополнительных приложений, высокое фоновое изображение, чтобы отобразить пользовательскую тень под панелью навигации. Эта техника не будет работать в iOS 7 "? !! Вот что я делаю. – swatiKaushik

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