タブバーに右バー ボタンを追加しようとしてnavigationbar
いますが、iPhone 5 および 5s デバイスとすべてのシミュレーターで正常に動作します。しかし、iPhone 6 および 6+ デバイスには表示されません。ただし、iPhone 6 および 6+ のシミュレーターでは正常に動作します。
ボタンコードはこちら。
@property (nonatomic, weak) UIButton *rightButton;
-(void)setNavigationBarRightButton
{
rightButton = [UIButton buttonWithType:UIButtonTypeCustom];
rightButton.frame = CGRectMake(0, 0, 40, 40);
rightButton.layer.cornerRadius = 20;
rightButton.layer.borderColor = [[UIColor lightGrayColor] CGColor];
rightButton.layer.borderWidth = 2;
rightButton.imageView.layer.cornerRadius = 20;
rightButton.clipsToBounds = YES;
UIImage* image;
NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"image"];
if (imageData == (id)[NSNull null] || imageData.length == 0) {
NSLog(@"image data is %@",imageData);
image = [UIImage imageNamed:@"defaultIcon.png"];
}
else {
image = [UIImage imageWithData:imageData];
}
// rightButton.imageView.image = image;
[rightButton setBackgroundImage:image forState:UIControlStateNormal];
[rightButton addTarget:self action:@selector(onClickrighttButton:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightButton];
self.tabBarController.navigationItem.rightBarButtonItem = rightBarButtonItem;
}
- (void)onClickrighttButton:(id)sender
{
NSLog(@"clicked");
}
画像でもわかります
iPhone 6の鮮明な画像も
ボタンの境界線が 2 であるため、プレースホルダーさえ表示されないことを確認してください。