我正在尝试在我的标签栏的 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。
最佳答案
1) 如果您正在使用 Autoresizing Sub-Mask,请检查您是否正确设置了“Autoresizing Mask”,[Check in Preview]。
2) 如果您使用的是 Size 类,请确保您设置的约束,[Check in Preview]。
3) 第二件事,如果它无法以任何方式工作并且您很着急,只需使用您的自定义标题 View 而不是左右两侧带有自定义按钮的导航栏。
关于ios - 右栏按钮未出现在 iphone 6 和 6+ 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31110926/