Зависит, хотите анимацию?
Если вы не хотите анимировать движение, это так же просто, как изменить его центральную точку
UILabel* label; //Previously initialized UILabel
float newX = 90.0f;
float newY = 101.0f;
label.center = CGPointMake(newX, newY);
Если вы хотите анимировать движение, добавьте блок анимации:
UILabel* label; //Previously initialized UILabel
float newX = 90.0f;
float newY = 101.0f;
[UIView transitionWithView:label
duration:0.5f
options:UIViewAnimationCurveEaseInOut
animations:^(void) {
label.center = CGPointMake(newX, newY);
}
completion:^(BOOL finished) {
// Do nothing
}];
EDIT:
Начиная с iOS 4, рекомендуемый подход для анимации - это блочные методы . Например:
transitionFromView:toView:duration:options:completion:
и transitionWithView:duration:options:animations:completion:
Эти методы доступны только в iOS 4+, поэтому, если вам нужно нацелиться на что-либо раньше, вам придется использовать другие методы, описанные в UIView Class Reference .
Только из личного опыта, использование blocks
анимаций на основе значительно упрощает ваш код, делает его менее похожим на спагетти со всеми методами делегатов, которые в противном случае пришлось бы реализовывать для обратных вызовов и т. Д. Блоки действительно очень мощные и очень стоит потратить время на использование.