UIBarButtonItem带有纵向和横向图片,可能会在横向方向显示纵向图片。

4
在iOS 7中,我正在导航控制器的导航栏中展示一个UIBarButtonItem。UIBarButtonItem有一张竖向方向的图片和一张横向方向的图片:
// "self" refers to the UINavigationController
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:portraitImage landscapeImagePhone:landscapeImage style:UIBarButtonItemStylePlain target:nil action:NULL];

如果你只是旋转界面,正确的图片会用于界面方向。但是,如果UINavigationController的视图在横向方向下首次出现(比如通过横屏展示它或者通过消除遮盖它的视图控制器来展示它),则会使用竖向图片!为什么会这样?这是框架的bug吗?如果是,有没有办法解决这个问题,使得横向方向始终显示横向图片?

你是在 iPad 上测试吗? - Mike
1个回答

0

我也遇到了同样的问题。

我在UIBarButtonItem with separate portrait and landscape images - layoutSubviews not called when popping a view controller from UINavigationController找到了一个听起来非常有希望的解决方案,但对我不起作用。我打算改为在方向更改时更改图像。如果您找到更好的解决方案,请发布您的解决方案。

横向图片在UIToolbar上始终有效,但在UINavigationBar上无效。在UINavigationBar上,我遇到了您所述的问题。我还遇到了这样的问题:如果我在横向模式下点击按钮,它会变成纵向版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接