私の .h ファイル
#import <UIKit/UIKit.h>
@interface NavigationBarButton : UIButton
@property(nonatomic, retain) UIImageView *barButtonImage;
@property(nonatomic, retain) UILabel *barButtonLabel;
- (id)initWithFrame:(CGRect)frame withImage:(UIImage *) image withTitle:(NSString *) title;
私の .m ファイル
- (id)initWithFrame:(CGRect)frame withImage:(UIImage *) image withTitle:(NSString *) title
{
self = [super initWithFrame:frame];
if (self)
{
self = [UIButton buttonWithType:UIButtonTypeCustom];
self.frame = frame;
self.backgroundColor = [UIColor clearColor];
barButtonImage = [[[UIImageView alloc] initWithFrame:CGRectMake(16, 1, 18, 23)]autorelease];
[barButtonImage setImage:image];
barButtonLabel = [[[UILabel alloc] initWithFrame:CGRectMake(0, 26, 50, 10)]autorelease];
barButtonLabel.backgroundColor = [UIColor clearColor];
barButtonLabel.text = title;
barButtonLabel.font = [UIFont systemFontOfSize:11];
barButtonLabel.textAlignment = NSTextAlignmentCenter;
[self addSubview:barButtonLabel];
[self addSubview:barButtonImage];
//[barButtonImage release];
//[barButtonLabel release];
}
return self;
}
しかし、[self addSubview:barButtonLabel] でアプリがクラッシュします。コードは iPad 6.0 シミュレーターでは正常に動作しますが、iPad 5.0 または iPad 5.1 シミュレーターでは動作しないため、奇妙です。