Я борюсь с Autolayout (используя его в первый раз в новом приложении).Проблемы с AutoLayout
Следующая ситуация:
- Раскадровка
- IPad
- Autolayout включена
В одном поповере мне нужно повторно верстке 8 кнопок программно в соответствии с выбором пользователя. Это прекрасно работает до момента, когда кнопки должны быть повернуты на 180 ° (для просмотра вверх ногами, что является функцией приложения).
Как только я добавлю код для вращения, ретранслятор больше не работает. Я не понимаю, почему я могу изменить положение кнопок (например, Case 2), но затем, когда он вращается, он больше не работает.
Дело 1:
BUTTON 0 | КНОПКА 1 | КНОПКА 2 | BUTTON 3
BUTTON 4 | КНОПКА 5 | КНОПКА 6 | КНОПКА 7
Случай 2:
КНОПКА 7 | КНОПКА 6 | КНОПКА 5 | КНОПКА 4
BUTTON 3 | КНОПКА 2 | КНОПКА 1 | BUTTON 1
(все кнопки повернуты на 180 °, т.е. перевернуты вверх ногами)
После того, как AutoLayout выключен, он работает как шарм. Проблема в том, что, как только я выключу AutoLayout, остальная часть приложения полностью завинчена.
Было бы здорово, если бы кто-нибудь помог мне понять эту проблему.
Код в viewDidAppear
for (UIButton *button in self.allButtons) {
if (button.tag == i) {
button.transform = CGAffineTransformMakeRotation(M_PI);
button.frame = CGRectMake((300 - (100 * currentButtonPosition)) + offsetWidthButton, offsetHeightButton, 100, 100);
NSLog(@"Button Tag Nr: %d\nFrame:\nX=%f\nY=%f\nW=%f\nH=%f",button.tag, button.frame.origin.x, button.frame.origin.y, button.frame.size.width, button.frame.size.height);
}
}
Фрейм координаты кнопки все правильно на выходе NSLog. Я думаю, что как-то кнопка.transform закручивает часть .frame = CGRectMake, но почему я не понимаю и с нетерпением жду вашей помощи или руководства, где можно продолжить изучение загадочного автозапуска.
Надежда объяснение понятно :-)
Спасибо и имеют хороший день Ронни
Что произойдет, если вы не используете какой-либо из этого кода в 'viewDidAppear'? Я не понимаю, зачем вам это нужно. – trojanfoe
В зависимости от того, что пользователь выбирает в настройках, есть - например - только 5 кнопок и с разными порядками. Вот почему мне нужно переупорядочить их программно. Например, это будет КНОПКА 1 | КНОПКА 3 | КНОПКА 5 | КНОПКА 6 | BUTTON 7 –