UIBarButtonSystemItemCamera не центрируется на UIToolBar - PullRequest
1 голос
/ 22 декабря 2011

У меня здесь очень простой код

[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 элемент вообще не центрирован, см. На картинке, по сравнению с кнопкой «домой» он немного прав, почему это так и как его центрировать?

1006 *

Ответы [ 2 ]

2 голосов
/ 22 декабря 2011

Гибкие пробелы должны работать.Это ошибка в iOS, на мой взгляд.Вы можете убедиться сами, смоделировав это в конструкторе интерфейсов.

Вот кнопка с рамкой:

enter image description here

А вот простая кнопка:

enter image description here

Этодаже не выстроен в пределах собственной области выбора.

0 голосов
/ 22 декабря 2011
[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];

Это работает для меня. Пожалуйста, убедитесь, что на вашей стороне

...