2

私は次のコーディングを書いています...

ここに画像の説明を入力

      if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.9) {

    //iOS 5
    UIImage *toolBarIMG = [UIImage imageNamed: @"header.png"];  

    if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { 
        [self.navigationController.navigationBar setBackgroundImage:toolBarIMG  
                                                      forBarMetrics:0]; 
    } else {

        //iOS 4
        [self.navigationController.navigationBar insertSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"header.png"]] 
                                                               atIndex:0]; 

     }

画像はナビゲーションコントローラーに表示されますが、画像の開始と終了にいくつかのピクセルのギャップがあり、黒い画像が表示されます。黒い色を取り除くように画像を設定する方法。ピンクの丸いのが見えますが、その黒い色を取り除きたい..

前もって感謝します。

4

1 に答える 1

1

これは、ナビゲーションバーに画像を設定する方法です

UINavigationBar *navBar = self.navigationController.navigationBar;
UIImage *image = [UIImage imageNamed:@"header.png"];
[navBar setBackgroundImage:image];

そして、このコードを以下のメソッドに入れます

- (void)viewWillAppear:(BOOL)animated

BarMetrics をデフォルトに設定する

 if ([[[UIDevice currentDevice] systemVersion] floatValue] > 4.9) {

//iOS 5
UIImage *toolBarIMG = [UIImage imageNamed: @"header.png"];  

if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]) { 
    [self.navigationController.navigationBar setBackgroundImage:toolBarIMG  
                                                  forBarMetrics:UIBarMetricsDefault]; 
} else {

    //iOS 4
    [self.navigationController.navigationBar insertSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"header.png"]] 
                                                           atIndex:0]; 
于 2012-11-30T10:33:09.860 に答える