Выровнять по центру несколько кнопок UIB разных размеров, динамически в UIView

У меня есть UIView, в котором я хочу динамически добавлять несколько кнопок n разных размеров, поэтому обычно они добавляются линейно. Можно ли выровнять по центру все кнопки за один раз? или мне нужно в расчетах установить начало каждой кнопки?

Вот что я подумал, если мне придется делать расчеты:

Алгоритм:

  1. рассчитать кадр с происхождением и добавить кнопку.
  2. сдвинуть предыдущие кнопки влево на рассчитанную сумму
  3. повторение

переключение кнопок разного размера становится очень сложным.

Пожалуйста, дайте мне знать, если есть встроенные методы, которые позволяют мне выравнивать по центру все подпредставления вида, или я должен делать некоторые математические расчеты.

Я наткнулся на некоторые ссылки SOF, но редко помогаю

2 ответа

Если вы хотите, чтобы эти кнопки были равномерно расположены и выровнены по центру, в этом случае вы можете использовать следующий вопрос о переполнении стека.

Этот код будет проходить через все подпредставления представления и устанавливать источник x так, чтобы подпредставление было центрировано:

for (UIView *view in yourView.subviews) {
    CGRect newFrame = view.frame;
    newFrame.origin.x = (CGRectGetWidth(myUIView.frame)-CGRectGetWidth(newFrame))/2;
    view.frame = newFrame;
  }
Другие вопросы по тегам