2012-02-09 6 views
8

UINavigationBarのrightBarButtonItemsプロパティを使用して、ナビゲーションバーの右側に2つのボタンを追加しています。これら2つのボタンの間隔を広げることは可能ですか?UINavigationBar内のrightBarButtonItems

おかげ

答えて

6

あなたは二つのボタンの間にUIBarButtonSystemItemFlexibleSpace項目を追加することができます。

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace 
                     target:nil 
                     action:nil]; 
+0

ありがとうございます。しかし、どのように私は幅を指定するのですか? – atnatn

+3

私は 'UIBarButtonSystemItemFixedSpace'を使うべきだと仮定しています:D – atnatn

+0

@atnatnおそらく' item.width'が動作するかもしれませんが、私はテストしていません。 – fannheyward

1

私は私の状況で動作するように柔軟なスペースを取得することができませんでしたが、ここで私はrightBarButtonItemを配置することができるように使用するコードです:あなたは何を見ることができるように注意してください、私はUIViewの周囲に境界線を入れますそこにイメージがあるように見えます。

UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(89,40,100,30)]; 
containerView.layer.borderColor = [[UIColor redColor] CGColor]; 
containerView.layer.borderWidth = 1.0; 
UIImage *image = [UIImage imageNamed:@"nav-icon.png"]; 
UIButton *navigationButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[navigationButton setFrame:CGRectMake(67,0,25,25)]; 
[navigationButton setImage:image forState:UIControlStateNormal]; 
[containerView addSubview:navigationButton]; 

UIBarButtonItem *navigationBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:containerView]; 

self.navigationItem.rightBarButtonItem = navigationBarButtonItem;