7

タブバーに右バー ボタンを追加しようとして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 であるため、プレースホルダーさえ表示されないことを確認してください。

4

3 に答える 3

0

ビューのデバッグ (Debug View Hierarchy) を使用して、ボタンがなくなった場所を確認できます。デバッグ/ログ領域の上部にあるデバイス アイコンをクリックするだけです

于 2015-06-30T09:53:36.130 に答える