Упорядочить горизонтальное пространство между элементами на панели с помощью автомакета

В настоящее время у меня есть такое представление, как я могу настроить ограничение для отображения элементов одинаково, как в обзоре Iphone 7, на всех размерах экрана? Я пробовал так много ограничений, включая stackView, но бесполезно. Большое спасибо и хорошего дня впереди.

введите здесь описание изображения


person Duy Khanh Nguyen    schedule 19.07.2017    source источник
comment
Вы можете использовать stackview для этого   -  person Sanman    schedule 19.07.2017
comment
Я пробовал, но это кажется не очень хорошим. кнопка «Готово» по-прежнему отсутствует, и я также хочу знать другие решения.   -  person Duy Khanh Nguyen    schedule 19.07.2017
comment
@DuyKhanhNguyen вам нужно, чтобы нижние значки были одинаково выровнены? Попробуйте задать одинаковое ограничение ширины и высоты, если у них есть еще один лучший вариант просмотра стека.   -  person Tushar Sharma    schedule 19.07.2017
comment
Какие ограничения вы установили? Являются ли они в UIToolbar или просто 5 UIButtons в содержащем представлении?   -  person Paulw11    schedule 19.07.2017
comment
См.: stackoverflow.com/questions/32862142/   -  person Piyush    schedule 19.07.2017
comment
@Paulw11, это всего 5 кнопок UIButton в представлении контейнера.   -  person Duy Khanh Nguyen    schedule 19.07.2017
comment
Итак, какие ограничения вы установили?   -  person Paulw11    schedule 19.07.2017
comment
На самом деле я не устанавливаю никаких ограничений, после того, как попробовал разные способы   -  person Duy Khanh Nguyen    schedule 19.07.2017
comment
Если вы не хотите использовать представление стека, вам нужно либо использовать разделитель UIViews между каждой кнопкой (вы можете сделать это в построителе интерфейса), либо использовать UILayoutGuide (вы можете сделать это только программно).   -  person Paulw11    schedule 19.07.2017


Ответы (2)



Используйте UIToolbar, в котором есть UIBarButtonSystemItemFlexibleSpace предмет, который вы можете поместить между 5 вашими обычными предметами.

В коде Obj-C вы бы сделали что-то вроде:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.navigationController setToolbarHidden:NO];

    UIBarButtonItem* spaceItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                                target:self
                                                                                action:nil];

    ... create other items ...

    self.toolbarItems = @[ item1, spaceItem1, item2, spaceItem2, ... ];

    ...
}
person meaning-matters    schedule 19.07.2017