0

現在のナビゲーション バーは次のようになります。

ここに画像の説明を入力

ご覧のとおり、右に移動する必要があります。これを正しく設定しているかどうかわかりませんが、何か提案はありますか?

コードは次のとおりです。

-(void)customizeNavigationBar{

    //*** Nav bar Background ***
    //Image being used
    UIImage *backgroundImage = [UIImage imageNamed:@"navBarBackground"];

    //Set navigation bar image
    [self.navigationController.navigationBar setBackgroundImage:backgroundImage forBarMetrics:UIBarMetricsDefault];

    //*** Search button**
    //Get Image
    UIImage* searchImage = [UIImage imageNamed:@"navSearchButton"];

    //Set frame
    CGRect frame = CGRectMake(0, 0, searchImage.size.width, searchImage.size.height);

    //Create button
    UIButton *searchButton = [[UIButton alloc] initWithFrame:frame];

    //Set background images (selected and not)
    [searchButton setBackgroundImage:searchImage forState:UIControlStateNormal];
    [searchButton setBackgroundImage:[UIImage imageNamed:@"navSearchButtonSelected"] forState:UIControlStateSelected];

    //Add action
    [searchButton addTarget:self action:@selector(search)
          forControlEvents:UIControlEventTouchUpInside];

    //Set highlight on
    [searchButton setShowsTouchWhenHighlighted:YES];

    //Create nav buttons
    UIBarButtonItem *navSearchBtn =[[UIBarButtonItem alloc] initWithCustomView:searchButton];

    //Add to nav bar
    [self.navigationItem setLeftBarButtonItem:navSearchBtn];
}
4

1 に答える 1

1
  • 背景画像を UIButton に設定するには、setImage:forState: を使用します (setBackgroundImage: の代わりに)。
  • UIButton のフレームを少し大きく設定 (size.width)
于 2013-06-04T18:24:27.023 に答える