2016-05-11 4 views
0

Я использую setFrame для изменения положения X моего представления. У меня есть представления, расположенные за пределами UIViewController, и когда я нажимаю любую из кнопок, он вводит UIView в зависимости от того, какая кнопка нажата. Я не уверен, что я делаю неправильно, но с кодом ниже ни один из просмотров не будет двигаться, хотя я работал над этим раньше в предыдущем проекте, поэтому я не могу понять, почему он не будет работать сейчас.Objective C setFrame не работает для UIView

Код для кнопки ниже, спасибо!

- (IBAction)reviews { 
    [self.descView setFrame:CGRectMake(-378, 278, 375, 334)]; 
    [self.reviewsView setFrame:CGRectMake(0, 278, 375, 334)]; 
    [self.avView setFrame:CGRectMake(-378, 278, 375, 334)]; 
    [self downloadreviews]; 

} 
+0

Вы используете Autolayout/constraints? – Larme

+0

Да, автоматическая компоновка включена для просмотра. –

+0

u нужно манипулировать с ограничениями вместо координат кадра, если использовать автоопределения –

ответ

1

Если вы используете AutoLayout, вы не можете напрямую манипулировать рамками просмотров. Ограничения берут верх и перемещают их назад.

Вам необходимо установить ограничения, подключить розетки к этим ограничениям, а затем изменить постоянные значения ограничений и вызывать layoutIfNeeded, чтобы получить ограничения на перемещение/изменение размеров ваших просмотров.

Смежные вопросы