UIImage *backImage = [UIImage imageNamed:@"title-bar.png"];
UIImageView *backImageView = [[UIImageView alloc] initWithImage:backImage];
[self.navigationController.navigationBar insertSubview:backImageView atIndex:0];
와같이 0번 index에 이미지뷰를 서브뷰로 더하는 것이다.
하지만 이렇게 할 경우 다음 depth로 넘어가자 타이틀이 가려지는 현상이 발생했다.
검색을 해보니 다양한 문제가 발생하기도 했는데 이를 완연히 방지하기 위해서는
UINavigationBar에 카테고리를 더해
#import "UINavigationBar+BackgroundImage.h"
@implementation UINavigationBar (BackgroundImage)
- ( void )drawRect:( CGRect )rect
{
[ [ UIImage imageNamed:@"title-bar.png" ] drawInRect:CGRectMake( 0, 0, self.frame.size.width, self.frame.size.height )];
}
@end
와같이 drawRect를 구현해주면 별도의 설정없이 이미지가 더해진다.
댓글 없음:
댓글 쓰기