2013-03-18 51 views
3

我的应用程序在UINavigationController中运行。当我从右侧推入新的视图控制器时,右上方的UIBarButtonItem(Edit)向下移动1个像素 - 编辑按钮保持不变,但图形明显向下移动。UIBarButtonItem在UINavigationController推送后向下移动

我注意到这只发生在我为酒吧按钮项目设置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
  • 这个程序使用故事板,并推动通过塞格斯处理。
  • 单像素位移只发生一次,即当我进入另一个级别进入导航控制器时,它不会再次下推。
  • “编辑”按钮的文本保留在原来的位置;只有按钮图形移动。
  • 我试着在不同的视图控制器(即导航堆栈中的第二个)中启动应用程序。酒吧按钮项目显示在正常(较高)位置,然后在推入新视图时向下移动。这似乎表明它与任何特定的视图控制器无关。

有没有人看到这个,知道为什么会发生这种情况,或者如何防止按钮转移?谢谢。

+0

是否可以切换慢速动画模式并在之前/之后捕获差异? – 2013-03-18 14:30:40

+0

拍了[视频(http://f.cl.ly/items/33313O0T3j212C040R3k/Screeny%20Video%2019%20Mar,%202013%2012.29.34%20AM.mov)...原谅静态的背景下,这是我的粉丝:P – yjsoon 2013-03-18 16:31:41

回答

3

万一有人送过来用了同样的问题,我设法通过在标准的30像素高度有我barButton图像来解决该问题(而不是31个,如上)。

+0

Thanx上帝,我发现了这个!有同样的问题。 http://stackoverflow.com/questions/15545051/ios-custom-uibarbuttonitem-change-position-in-detail-view – luca 2013-03-23 09:19:18

+0

你知道为什么会这样吗? – luca 2013-03-23 09:19:39

1

我有问题,当字体大小是18,我把它改成19移位了和导航栏平滑过渡后。

相关问题