2

返回带有导航栏标题的 UIBarButtonItem

代码 1:

UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                              style:UIBarButtonItemStylePlain
                                                             target:self action:@selector(exits)];
    //[item setBackgroundVerticalPositionAdjustment:10.0f forBarMetrics:UIBarMetricsDefault];
    self.navBar.topItem.leftBarButtonItem = item;
    [[UIBarButtonItem appearance] setBackgroundVerticalPositionAdjustment:+5 forBarMetrics:UIBarMetricsDefault];

代码2:

UIBarButtonItem * item = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                              style:UIBarButtonItemStylePlain
                                                             target:self action:@selector(exits)];
    //[item setBackgroundVerticalPositionAdjustment:10.0f forBarMetrics:UIBarMetricsDefault];
    self.navBar.topItem.leftBarButtonItem = item;
    [[UIBarButtonItem appearance] setTitlePositionAdjustment:UIOffsetMake(0, 50) forBarMetrics:UIBarMetricsDefault];

我尝试了上面的两个代码都不起作用

我想要做的是让 UIBarButtonItem 在我的示例标题级别下移。怎么做。

4

3 回答 3

0

看起来问题不在于您的UIBarButtonItem,而在于您的整个UINavigationBar. 您UINavigationBar应该向下移动 20 像素以显示状态栏。进行此 Stack Overflow 问题中所写的更改,一切都应该很好地排列。

于 2013-10-21T21:20:30.300 回答
0

如果您只想将文本向下移动,您可以使用...</p>

[[UIBarButtonItem appearance] 
       setBackButtonTitlePositionAdjustment:UIOffsetMake(0, 6) 
                              forBarMetrics:UIBarMetricsDefault];
于 2015-05-11T15:10:16.090 回答
-1

对不起,迟到的答案。如果您仍在寻找答案,请尝试以下操作。它对我有用:

item.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom;
item.contentEdgeInsets = UIEdgeInsetsMake(2.0, 0.0, 0.0, 0.0);
于 2013-10-21T20:55:17.377 回答