【发布时间】:2013-03-18 14:15:59
【问题描述】:
我的应用在 UINavigationController 中运行。当我从右侧推入一个新的视图控制器时,右上角的 UIBarButtonItem (Edit) 向下移动 1 个像素 - 编辑按钮保持在原位,但图形明显向下移动。
我注意到只有在我为栏按钮项设置 UIAppearance 代理后才会发生这种情况。这是我的代码:
UIImage *barButton = [[UIImage imageNamed:@"navBarBarButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 5, 0, 5)];
[[UIBarButtonItem appearance] setBackgroundImage:barButton
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
navBarBarButton.png 是一个 52x31 的条形按钮图像。
其他可能相关的信息:
- 这只发生在 iOS 6 模拟器中 - 在 iOS 5 中没问题。
- 此应用程序使用故事板,并且推送由 segues 处理。
- 单像素位移只发生一次,即当我进入导航控制器的另一个关卡时,它不会第二次被推下。
- “编辑”按钮的文本保持原位;只有按钮图形移动。
- 我尝试在不同的视图控制器(即导航堆栈中的第二个)中启动应用程序。条形按钮项目显示在正常(较高)位置,然后在我推入新视图时向下移动。这似乎表明它与任何特定的视图控制器无关。
有没有人看到这个,知道为什么会这样,或者如何防止按钮移动?谢谢。
【问题讨论】:
-
是否可以切换慢速动画模式并捕捉前后的差异?
-
拍了video...请原谅后台的静电,那是我的粉丝:P
标签: ios xcode uinavigationcontroller uiappearance