我设置了一个比导航栏略大的背景图像,图像的高度为55px。我想要一个横幅外观的图像,导航栏底部带有功能区]它在iOS6中工作正常。但在iOS7中,它会被自己剪裁。我尝试设置[self.navigationController.navigationBar setClipsToBounds:NO];
它仍然被剪掉。我不能在不被剪辑的情况下拥有更大的背景图像吗?
这是由于 Ui 导航栏在 ios64 中是 7 点,这就是为什么这会产生问题。请参阅此链接 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
编辑也尝试通过设置此标志导航栏半透明 = 否;
有关更多信息,请参阅此链接iOS 7 UINavigationBar - UIView 布局问题
图像没有被剪裁,很可能只是太小了。UI 网络化栏在 iOS 7 中为 64 磅,因此 55px 图像会太小,特别是考虑到需要 128px 的视网膜分辨率。
将导航栏的委托设置为视图控制器,并在委托方法中返回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