интервал iPhone Toolbar button

Существует ли способ иметь UIBarButtonItems на панели инструментов, растягивают себя равномерно?

8
задан TylerH 30 November 2018 в 16:27
поделиться

3 ответа

Поместите элемент кнопки гибкого пробела между вашими UIBarButtonItems. Это довольно легко сделать в IB, посмотрите на нижнюю часть элементов управления.

Если вы хотите сделать это программно, этот код должен помочь:

UIBarButtonItem* button1 = [[UIBarButtonItem alloc] initWithTitle:@"Button1" style:UIBarButtonItemStyleBordered target:self action:@selector(button1Action)];
UIBarButtonItem* button2 = [[UIBarButtonItem alloc] initWithTitle:@"Button2" style:UIBarButtonItemStyleBordered target:self action:@selector(button2Action)];
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[myToolbar setItems:[NSArray arrayWithObjects:button1, flexibleSpace, button2, nil]];
18
ответ дан 5 December 2019 в 06:52
поделиться

Игнорировать ширину в предложении UIBarButtonItem; это неправильный подход, рекомендованный Apple, и он не будет работать, если вы захотите добавить дополнительные значки.

Правильный подход - добавить «гибкий пробел» (технически еще одну кнопку!) Между каждой кнопкой. Вы видите это в Интерфейсном Разработчике, или это может быть добавлено непосредственно в коде, если необходимо.

4
ответ дан 5 December 2019 в 06:52
поделиться

Ага. Создайте UIBarButtonItem с помощью метода -initWithBarButtonSystemItem: , используя UIBarButtonSystemItemF flexibleSpace , и вставьте его между каждым из ваших фактических элементов панели инструментов. Например: [

UIBarButtonItem *flexSpace = [[UIBarButton alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace];
myToolbar.items = [NSArray arrayWithObjects:buttonOne,flexSpace,buttonTwo,flexSpace,buttonThree,nil];
[flexSpace release];
2
ответ дан 5 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: