UIBarButtonSystemItemCamera不以UIToolBar为中心

时间:2011-12-22 08:23:06

标签: iphone ios ios5 uitoolbar

我的代码非常简单

[mImagePickerToolBar setBarStyle:UIBarStyleBlackTranslucent];
[mImagePickerToolBar sizeToFit];
UIBarButtonItem *spaceItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *spaceItem2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(captureBarItemPressed:)];

NSArray *items = [NSArray arrayWithObjects: spaceItem1, cameraItem, spaceItem2, nil];

[mImagePickerToolBar setItems:items animated:NO];
我的UIToolBar相机项目上的

根本没有居中,请看图片,与主页按钮相比它有点正确,为什么这样以及如何居中呢?

enter image description here

2 个答案:

答案 0 :(得分:2)

灵活空间工作。在我看来,这是iOS中的一个错误。您可以通过在界面构建器中模拟它来亲眼看到。

这是有界的按钮:

enter image description here

这是普通按钮:

enter image description here

它甚至没有在自己的选择范围内排队。

答案 1 :(得分:0)

[self.navigationController setToolbarHidden:NO];
toolbar = [[UIToolbar alloc] init];
toolbar.barStyle = UIBarStyleBlackOpaque;
[toolbar sizeToFit];
toolbar.frame = CGRectMake(0, 436, 320, 44);
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
spaceItem.width = 130.0;
UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(captureBarItemPressed:)];
NSArray *items = [NSArray arrayWithObjects: spaceItem, cameraItem, nil];
[toolbar setItems:items];
[self.navigationController.view addSubview:toolbar];

这对我有用。请确保在您身边