设置导航栏 self.navigationItem.titleView 居中
喜欢交朋友的加:微信号 dwjluck2013
-(void)viewDidLayoutSubviews{ [self setDisplayCustomTitleText:@"每日头条"]; }
1 #pragma mark - 设置导航栏 self.navigationItem.titleView 居中 2 - (void)setDisplayCustomTitleText:(NSString*)text 3 { 4 CGFloat titleViewHeight = 44; 5 UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, Screen_Width, titleViewHeight)]; 6 titleView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin |UIViewAutoresizingFlexibleRightMargin; 7 titleView.autoresizesSubviews = YES; 8 titleView.backgroundColor = [UIColor clearColor]; 9 UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, Screen_Width, titleViewHeight)]; 10 titleLabel.backgroundColor = [UIColor clearColor]; 11 titleLabel.font = [UIFont systemFontOfSize:25]; 12 titleLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 13 titleLabel.textColor = kMyColor(37, 171, 39); 14 titleLabel.textAlignment = NSTextAlignmentCenter; 15 CGRect leftViewbounds = self.navigationItem.leftBarButtonItem.customView.bounds; 16 CGRect rightViewbounds = self.navigationItem.rightBarButtonItem.customView.bounds; 17 18 CGRect frame; 19 CGFloat maxWidth = leftViewbounds.size.width > rightViewbounds.size.width ? leftViewbounds.size.width : rightViewbounds.size.width; 20 maxWidth += 15;//leftview 左右都有间隙,左边是5像素,右边是8像素,加2个像素的阀值 5 + 8 + 2 21 frame = titleLabel.frame; 22 frame.size.width = Screen_Width - maxWidth * 2; 23 24 titleLabel.frame = frame; 25 frame = titleView.frame; 26 frame.size.width = Screen_Width - maxWidth * 2; 27 titleView.frame = frame; 28 titleLabel.text = text; 29 [titleView addSubview:titleLabel]; 30 self.navigationItem.titleView = titleView; 31 }