setNumberOfLines:
の0を設定するだけですUILabel
。以下の例を参照してください。
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0.0, 0.0, 320.0, 44.0)];
[label setBackgroundColor:[UIColor clearColor]];
[label setNumberOfLines:0];
[label setTextColor:[UIColor whiteColor]];
[label setTextAlignment:NSTextAlignmentCenter];
[label setText:@"1234567890 1234567890 1234567890 1234567890 1234567890 123456"];
self.navigationItem.titleView = label;
左と右を設定UIBarButtonItems
- 追加できます。
UIBarButtonItem *leftBarButton = [[UIBarButtonItem alloc]initWithTitle:@"Left" style:UIBarButtonItemStylePlain target:self action:@selector(leftPress:)];
self.navigationItem.leftBarButtonItem = leftBarButton;
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc]initWithTitle:@"Right" style:UIBarButtonItemStylePlain target:self action:@selector(rightPress:)];
self.navigationItem.rightBarButtonItem = rightBarButton;
FontSize
のも減らしLabel
ます。この場合は12です。次のようになります。
拡張された質問の場合:
前のコードにいくつかの変更を加えるだけです-
[label setNumberOfLines:2]; //Set it 2 instead of 0
NSString *titleStr = @"3456456676456464554541223434484384233456744444444456785643367";
//Check your string length then set font according to it.
//I have set font size according to your requirement
//which is 0-60.
if([titleStr length]>40 && [titleStr length]<=52){
[label setFont:[UIFont fontWithName:@"Arial" size:13.0]];
}
else if([titleStr length]>52){
[label setFont:[UIFont fontWithName:@"Arial" size:11.5]];
}
[label setText:titleStr];
注:adjustsFontSizeToFitWidth:
のプロパティを使用することはできません。これは、条件で処理する必要がある場合にUILabel
は機能しないためです。setNumberOfLines:0
if
これは、その に従ってset fontSize
Of のメソッドです。UILabel
width
[label setNumberOfLines:1];
label.adjustsFontSizeToFitWidth = YES;
label.minimumFontSize = 1.0;