【问题标题】:UIBarButtonItem shifting downwards after a UINavigationController pushUINavigationController 推送后 UIBarButtonItem 向下移动
【发布时间】: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


【解决方案1】:

如果有人遇到同样的问题,我设法通过将 barButton 图像设置为标准 30px 高度(而不是 31,如上所述)来解决问题。

【讨论】:

【解决方案2】:

我在字体大小为 18 时遇到了问题。在我将其更改为 19 后,移动消失了,导航栏过渡平滑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 2011-08-15
    相关资源
    最近更新 更多