どちらかの側にボタンがある UIToolBar のテキストを中央に配置しようとしていますが、いくつか問題があります。
次のコードがあります。
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:toolbarInitialFrame];
toolBar.barStyle = UIBarStyleBlackTranslucent;
UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 25)];
[label setText:@"Title"];
[label setBackgroundColor:[UIColor clearColor]];
[label setTextColor:[UIColor whiteColor]];
[label setFont:[UIFont boldSystemFontOfSize:16]];
UIBarButtonItem * labelEmu=[[UIBarButtonItem alloc] initWithCustomView:label];
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelAlarmAndDismissDatePicker:)];
UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(setAlarmAndDismissDatePicker:)];
だから私が欲しいのはcancelButton
、左側にキャンセルボタン( )labelEmu
、中央にタイトル( )doneButton
、右側に完了ボタン( )です。このようなもの:
|[Cancel] Title [Done]|
私はこれでそれを達成できることを望んでいました:
[toolBar setItems:[NSArray arrayWithObjects: cancelButton, spacer, labelEmu, spacer, doneButton, nil]];
しかし、残念ながら私が得るのはこれです:
|[Cancel]Title [Done]|
いくつか遊んだ後、私はこの行を見つけました:
[toolBar setItems:[NSArray arrayWithObjects: cancelButton, spacer, labelEmu, spacer, nil]];
...これを生成します:
|[Cancel] Title |
キャンセルボタンがあるという事実を無視して、タイトルが中央にある場所。しかし、私がこれを行うとき:
[toolBar setItems:[NSArray arrayWithObjects: spacer, labelEmu, spacer, doneButton, nil]];
...これを生成します:
| Title [Done]|
完了ボタンの左端と右端の間のスペースの中央にタイトルが配置される場所。キャンセル ボタンを無視するのと同じように、完了ボタンを無視するわけではありません。
私が求めているものを得るために、誰かが私を正しい方向に向けることができますか? かわいそうな ASCII ダイアグラムで申し訳ありません。:)