Выровнять по центру несколько кнопок UIB разных размеров, динамически в UIView
У меня есть UIView, в котором я хочу динамически добавлять несколько кнопок n разных размеров, поэтому обычно они добавляются линейно. Можно ли выровнять по центру все кнопки за один раз? или мне нужно в расчетах установить начало каждой кнопки?
Вот что я подумал, если мне придется делать расчеты:
Алгоритм:
- рассчитать кадр с происхождением и добавить кнопку.
- сдвинуть предыдущие кнопки влево на рассчитанную сумму
- повторение
переключение кнопок разного размера становится очень сложным.
Пожалуйста, дайте мне знать, если есть встроенные методы, которые позволяют мне выравнивать по центру все подпредставления вида, или я должен делать некоторые математические расчеты.
Я наткнулся на некоторые ссылки 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;
}