我无法将导航栏中显示的标题文本置于居中位置。一般来说,但特别是如果我添加一个左栏按钮项目,则标题文本会向右移动。
我有一个分段控件,根据用户选择的标题文本可以更改的段,并且其中一个段会出现左栏按钮,如果用户选择另一个段,则会消失。添加标题的代码是:
- (void) setHeader
{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
switch (self.filterType)
{
case filterx:
label.text = @"the title":
break;
// etc.
}
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:14.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = UITextAlignmentCenter;
label.textColor =[UIColor whiteColor];
self.navigationItem.titleView = label;
}
我已经尝试过明确地设置self.navigationItem.titleView.center,或者到视图的中心,或者导航栏的中心,但这些都没有任何区别。
答案 0 :(得分:0)
可能会发生这种情况,因为可能存在其他视图,例如leftBarButton,backButton或rightBarButton导致此问题。实际上,您正在创建宽度为320.0f的标签,这是navigation bar
的完整宽度。您需要从标签宽度中扣除导航栏的其他视图的大小,它将适合您。