です。
このコードをたどる -
@implementation UINavigationBar (UINavigationBarCategory)
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
if([self isMemberOfClass:[UINavigationBar class]])
{
UIImage *image;
image=[UIImage imageNamed:@"title_768.png"];
CGContextClip(ctx);
CGContextTranslateCTM(ctx, 0, image.size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextDrawImage(ctx,
CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), image.CGImage);
}
else
{
[super drawLayer:layer inContext:ctx];
}
}
@end
そして、あなたのコード内でMyNavigationBar.hとMyNavigationBar.mファイルを追加 -
MyNavigationBar.h -
#import <Foundation/Foundation.h>
@interface MyNavigationBar : UINavigationBar <UINavigationBarDelegate>
@end
MyNavigationBar.m -
#import "MyNavigationBar.h"
@implementation MyNavigationBar
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
// Initialization code
}
return self;
}
- (void)drawRect:(CGRect)rect
{
UIImage *image;
image=[UIImage imageNamed:@"title_768.png"];
[image drawInRect: CGRectMake(0, 0, self.frame.size.width, self.frame.size.height) ];
}
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{
}
- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated{
}
@end
そして、あなたのUINavigationBarをMyNavigationBarでサブクラス化してください。その場合、使用中の