UIToolBar内のボタン間隔調整


UIToolBar内のボタン間隔の調整は、UIBarButtonSystemItemFlexibleSpace と UIBarButtonSystemItemFixedSpace を使って行う。前者は伸び縮みするスペーサーで、後者は幅に固定値を指定するスペーサーだ。

UIBarButtonSystemItemFlexibleSpace
柔軟に伸び縮みするスペーサー

UIBarButtonSystemItemFixedSpace
固定幅のスペーサー

利用方法はソースコードをご覧下さい。

//NavigationBarと同じ44ピクセルで作成
UIToolbar * toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:toolBar];

UIBarButtonItem * button1 = [[UIBarButtonItem alloc] initWithTitle:@"ボタン1" style:UIBarButtonItemStyleBordered target:self action:@selector(action1)];
UIBarButtonItem * button2 = [[UIBarButtonItem alloc] initWithTitle:@"ボタン2" style:UIBarButtonItemStyleBordered target:self action:@selector(action2)];
UIBarButtonItem * button3 = [[UIBarButtonItem alloc] initWithTitle:@"ボタン3" style:UIBarButtonItemStyleBordered target:self action:@selector(action3)];

//伸び縮みするスペーサ
UIBarButtonItem * flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

//固定幅のスペーサ
UIBarButtonItem * fixedSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
fixedSpace.width = -5;//負の値を指定すると間隔が詰まります

//toolBarに作成したボタンを設置します
toolBar.items = [NSArray arrayWithObjects:button1, flexibleSpace, button2, fixedSpace, button3, nil];

Comments

comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です