我希望能夠控制UInavigationBar中標題的位置。例如,現在我的標題是居中的,但對於某些觀點,我需要將標題原點向左移動幾個像素左右。這可能嗎?將UINavigationBar標題的文字左移或右移
謝謝!
我希望能夠控制UInavigationBar中標題的位置。例如,現在我的標題是居中的,但對於某些觀點,我需要將標題原點向左移動幾個像素左右。這可能嗎?將UINavigationBar標題的文字左移或右移
謝謝!
你可以添加一個自定義titleView到你的導航項目,並放置一個偏離中心的UILabel來保存你的標題。另一個更簡單的方法,可能是在你的標題末尾添加一個或兩個空格字符,如果這給你提供了你需要的位移量。
您的代碼在這裏
- (void) customNavBarTitleWithText:(NSString *) text andFontsize:(float) fontsize
{
// Custom nav bar back button
UIImage *img = [UIImage imageNamed:@"back_btn.png"];
UIButton *backbtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, img.size.width, img.size.height)];
[backbtn setImage:img forState:UIControlStateNormal];
[backbtn addTarget:self action:@selector(backBtnClicked) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *backBarBtn = [[UIBarButtonItem alloc] initWithCustomView:backbtn];
[self.navigationItem setLeftBarButtonItem:backBarBtn];
//Custom nav bar title
UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:fontsize];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = NSTextAlignmentCenter;
// Use UITextAlignmentCenter for older SDKs.
label.textColor = [UIColor whiteColor]; // change this color
self.navigationItem.titleView = label;
label.text = text;
label.lineBreakMode = NSLineBreakByWordWrapping;
label.numberOfLines = 0;
[label sizeToFit];
// Set nav bar background image
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"top_bar_bg.png"] forBarMetrics:UIBarMetricsDefault];
}
在那裏:
label.textAlignment = NSTextAlignmentCenter;
你可以使用另一種模式:NSTextAlignmentLeft,NSTextAlignmentRight,NSTextAlignmentJustified等。
希望它能爲你工作!