IOS自定义UIBarbuttonItem在详细 View 中更改位置

标签 ios ios6 storyboard uinavigationbar uibarbuttonitem

我正在尝试自定义导航栏的 UIBarbuttonItem 以便我在我的 Appdelegate.m 中使用它

// didFinishLaunchingWithOptions: 

{
  UIImage *navBarImage = [UIImage imageNamed:@"nav-bar.png"];

  [[UINavigationBar appearance] setBackgroundImage:navBarImage
                                   forBarMetrics:UIBarMetricsDefault];

  [[UINavigationBar appearance] setTitleVerticalPositionAdjustment:5
                                                   forBarMetrics:UIBarMetricsDefault];



  UIImage *barButtonSave = [[UIImage imageNamed:@"nav-bar-button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 2, 0, 2)];


[[UIBarButtonItem appearance] setBackgroundImage:barButtonSave
                                        forState:UIControlStateNormal
                                           style:UIBarButtonItemStyleDone
                                      barMetrics:UIBarMetricsDefault];

[[UIBarButtonItem appearance] setBackgroundVerticalPositionAdjustment:5 forBarMetrics:UIBarMetricsDefault];


return YES;

}

完成此操作后,我只需将 UIBarbuttonItem 与 Storyboard 一起放置即可。
关键是我注意到“保存”按钮在我的 View 之间发生了变化!

看起来在我的 DetailView 中向下移动了几个像素:

enter image description here

这是为什么?

最佳答案

我仍然不知道为什么。但我解决了为我的自定义 UIbarbuttonItem 图像提供 30px 默认高度的问题。

[看到类似的问题 UIBarButtonItem 在 UINavigationController 推送后向下移动

关于IOS自定义UIBarbuttonItem在详细 View 中更改位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15545051/

相关文章:

ios - 查看 NSDate 是否为 6 个月前

iphone - iOS:从多任务栏恢复应用程序时如何保持方向?

iphone - 我可以通过 UIAppearance 代理设置哪些属性?

objective-c - UIPageViewController 中带有 TextView 的 ViewController

ios - 实例化初始 View Controller 提供 Nil

iphone - 如何制作具有左推效果的自定义转场?

ios - 弱 IBOutleCollection 始终为零

ios - self 调整大小的 UITableViewCell 内的多个 UILabels

ios6 - UISplitViewController 细节 View 投影

ios - 如何在iOS13的iPad上以iPhone风格呈现actionSheet?