Я застрял с этой проблемой в течение достаточно долгого времени. При разработке iOS-приложений в Objective-C, как мы можем программно изменить позицию (местоположение) UIViews, когда Autolayout включен? Это так просто без Autolayout, поскольку мы просто указываем новый центр для UIView как таковой:
UIView.center = CGPointMake(x,y);
Однако вышеперечисленное больше не работает из-за Autolayout. В конечном счете, я пытаюсь анимировать определенный UIView, используя преобразование перевода слева направо. Однако для этого мне нужно программно перемещать UIViews, что я в настоящее время не могу сделать. Ниже приведено то, что я пытаюсь сделать по существу (но это не работает из-за автомакета):
_loginTextLabel.center = CGPointMake(1,1);
[UIView animateWithDuration:0.5 delay:0.5 options:nil animations:^{
_loginTextLabel.center= CGPointMake(5, 1);
} completion:nil
];
}
translatesAutoresizingMaskIntoConstraints = YES
перед установкой нового центра. - person William Smith   schedule 07.09.2015