Reputation: 12641
I have set UINavigationBar titleView as given below:
UIView *labelView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 255, 40)];
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 200, 40)];
[label setTextColor:[UIColor whiteColor]];
label.lineBreakMode=UILineBreakModeWordWrap;
label.numberOfLines=0;
label.shadowColor = [UIColor colorWithRed:0.0f/255.0f green:0.0f/255.0f blue:0.0f/255.0f alpha:0.25f];
label.shadowOffset = CGSizeMake(0.0f, -1.0f);
label.textAlignment = UITextAlignmentCenter;
label.adjustsFontSizeToFitWidth=YES;
[label setBackgroundColor:[UIColor clearColor]];
switch (genreId) {
case 1:
label.text=@"Music";
self.navigationItem.titleView =label;
break;
case 3:
label.text=@"Family";
break;
case 6:
label.text=@"Literature";
break;
case 7:
label.text=@"Theatre";
break;
default:
label.frame=CGRectMake(0, 0, 255, 40);
label.text=ArtistName;
break;
}
[label setFont:[UIFont boldSystemFontOfSize:20.0]];
[labelView addSubview:label];
[self.navigationItem setTitleView:labelView];
[label release];
Now I want to update the height of UINavigationBar because word wrap in title view will not display until we increase the height of the UINavigationBar.How can I do that?
Upvotes: 0
Views: 3239
Reputation: 7471
use this code.....and chill......
NSString *summary;
summary = @" your title";
// define font size what ever you want....
CGSize s = [summary sizeWithFont:[UIFont systemFontOfSize:30]
constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT) // - 40 For cell padding
lineBreakMode:UILineBreakModeWordWrap];
CGRect frame = CGRectMake(0.0f, 0.0f, 320.0f, s.height);
[self.navigationController.navigationBar setFrame:frame];
Hope, it will help you...
Upvotes: 3
Reputation: 6490
try this,
@implementation UINavigationBar (CustomHeight)
- (void)layoutSubviews {
[super layoutSubviews];
CGRect barFrame = self.frame;
barFrame.size.height = height;
self.frame = barFrame;
}
@end
Upvotes: -1
Reputation: 77
I think you have to create a Custom UINavigationBar with custom image then you can do whatever you want.
Upvotes: 0