Обрезание фонового изображения NavigationBar в iOS7;ClipsToBound: НЕТ не работает

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

Это все еще обрезается. Разве я не могу получить большее фоновое изображение без обрезки?

3 ответа

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

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

https://developer.apple.com/library/ios/documentation/uikit/reference/UIBarPositioning_Protocol/Reference/Reference.html

Отредактируйте также попробуйте установить этот флаг navigationBar.translucent = NO;

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

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

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

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

https://developer.apple.com/library/ios/documentation/uikit/reference/UIBarPositioning_Protocol/Reference/Reference.html

Другие вопросы по тегам