iOSのUINavigationBar
に収まるようにタイトルテキストを縮小することは可能ですか?UINavigationBarタイトルラベルテキスト
(自動レイアウトなしのポートレートiPhoneアプリ用)
私はタイトルバーを動的に設定していますが、テキストが長すぎる場合があり、現時点では省略記号で切り捨てることもあります。
すなわち「これはトンです...」
私はそれが代わりにテキストを縮小したいと思います。
iOSのUINavigationBar
に収まるようにタイトルテキストを縮小することは可能ですか?UINavigationBarタイトルラベルテキスト
(自動レイアウトなしのポートレートiPhoneアプリ用)
私はタイトルバーを動的に設定していますが、テキストが長すぎる場合があり、現時点では省略記号で切り捨てることもあります。
すなわち「これはトンです...」
私はそれが代わりにテキストを縮小したいと思います。
独自のタイトルビューを作成して作成することができます。このような
何か:
- (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
ありがとう、私は実際にこれに似た何かを既にしていました。 UILabelのカテゴリを使用して、すべてのView Controllerで素早く作成しました。 – Fogmeister