我在导航控制器中使用自定义的btn:

    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
                                             initWithTitle:NSLocalizedString(@"Back", nil)
                                             style:UIBarButtonItemStylePlain
                                             target:nil
                                             action:nil];
    //and add custom label in this:
    heightNav = self.navigationController.navigationBar.frame.size.height;
    widthNav  = self.navigationController.navigationBar.frame.size.width;
    self.aCNavLabel = [[ACNavLabel alloc] initWithFrame:CGRectMake(0, 0, widthNav, heightNav)];
    self.aCNavLabel.text = NSLocalizedString(@"Settings", nil);
    //
    UIView *titleNavView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, widthNav, heightNav)];
    self.navigationItem.titleView = titleNavView;
    [self.navigationItem.titleView addSubview:self.aCNavLabel];

但标签未居中。
请告诉我我在哪里弄错了?

和自定义标签aCNavLabel:
@实现ACNavLabel
- (id)initWithFrame:(CGRect)frame
{
   self = [super initWithFrame:frame];
   if (self) {

      self.backgroundColor = [UIColor clearColor];
      self.textColor = [UIColor blackColor];
      self.font = FONT_OP_STD(22.0f);
 //   self.text = title;
      self.textAlignment = NSTextAlignmentCenter;
    }
    return self;
}

我为此更改了一些规则
self.navigationItem.titleView = self.aCNavLabel;
而且有一些不可思议的东西

这是第一个viewController和

接下来是什么???

最佳答案

self.navigationController.navigationBar setTitleTextAttributes:(NSDictionary *)

这个方法可以
您可以向客户提供有关字体,颜色,textAlign和其他属性的navigationBar标题;

10-06 13:23