我正在尝试将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]|
标题在“完成”按钮的最左边缘和右侧之间的空间中居中的位置。它不会以忽略取消按钮的相同方式来忽略完成按钮。
有人能指出我正确的方向以获得我所追求的吗?对不起,所有的naff ASCII图!:)
也许尝试使用:
[[UIBarButtonItem alloc] initWithTitle:@"yourtitle" style:UIBarButtonItemStylePlain target:nil action:nil];
如果UITollbar将由标签负责,则可能会有所帮助。
编辑尝试添加:
[label sizeToFit];
在将其添加到收费栏之前
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句