UINavigationBar标题标签文本

是否有可能缩小标题文本以适应iOS中的UINavigationBar

(对于没有自动布局的肖像iPhone应用程序)。

我正在dynamic设置标题栏,但是有时候文本太长了,现在只是用省略号把它剪掉。

即“这是…”

我希望它缩小文本。

你可以创build自己的标题视图来制作它。

像这样的东西:

 - (void)viewDidLoad { [super viewDidLoad]; //Do any additional setup after loading the view, typically from a nib. UILabel *titleLabelView = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 40)]; //<<---- Actually will be auto-resized according to frame of navigation bar; [titleLabelView setBackgroundColor:[UIColor clearColor]]; [titleLabelView setTextAlignment: NSTextAlignmentCenter]; [titleLabelView setTextColor:[UIColor whiteColor]]; [titleLabelView setFont:[UIFont systemFontOfSize: 27]]; //<<--- Greatest font size [titleLabelView setAdjustsFontSizeToFitWidth:YES]; //<<---- Allow shrink // [titleLabelView setAdjustsLetterSpacingToFitWidth:YES]; //<<-- Another option for iOS 6+ titleLabelView.text = @"This is a Title"; navigationBar.topItem.titleView = titleLabelView; //.... } 

希望这可以帮助。

 Xcode 7.1 - Swift 2.0 //Adding Title Label var navigationTitlelabel = UILabel(frame: CGRectMake(0, 0, 200, 21)) navigationTitlelabel.center = CGPointMake(160, 284) navigationTitlelabel.textAlignment = NSTextAlignment.Center navigationTitlelabel.textColor = UIColor.whiteColor() navigationTitlelabel.text = "WORK ORDER" self.navigationController!.navigationBar.topItem!.titleView = navigationTitlelabel