Custom UINavigationBar with image and back button
Categories: Apple, Mac OS X, OOP, iPad, iPhone on Feb.09, 2010
Many people could not find this solution! It’s really very simple solution and it does not contain any private methods and functions. It’s based on the drawRect method and the simple manipulation with the title. If the title is specified, then the text of title displays, but if not, then displays the image.
- @implementation UINavigationBar (UINavigationBarCustomDraw)
- - (void) drawRect:(CGRect)rect {
- [self setTintColor:[UIColor colorWithRed:0.5f
- green: 0.5f
- blue:0
- alpha:1]];
- if ([self.topItem.title length] > 0 && ![self.topItem.title isEqualToString:@"Back to ..."]) {
- [[UIImage imageNamed:@"Header_1px.png"] drawInRect:rect];
- CGRect frame = CGRectMake(0, 0, 320, 44);
- UILabel *label = [[[UILabel alloc] initWithFrame:frame] autorelease];
- [label setBackgroundColor:[UIColor clearColor]];
- label.font = [UIFont boldSystemFontOfSize: 20.0];
- label.shadowColor = [UIColor colorWithWhite:0.0 alpha:1];
- label.textAlignment = UITextAlignmentCenter;
- label.textColor = [UIColor whiteColor];
- label.text = self.topItem.title;
- self.topItem.titleView = label;
- } else {
- [[UIImage imageNamed:@"Header.png"] drawInRect:rect];
- self.topItem.titleView = [[[UIView alloc] init] autorelease];
- }
- }
- @end
Similar posts:

(2 votes, average: 4.50 out of 5)


September 4th, 2010 on 11:24 am
nice i was looking for that great website