Во-первых, я предполагаю, что ваш UIView
(давайте просто назовем его представлением) является подпредставлением Screen
(то есть вы сделали что-то вроде [Screen addSubview:view]
).
Если вы хотите сделатьанимация, так что левая сторона растягивается так, как вы хотите, в основном все, что вам нужно сделать, это установить начало координат view
на (0,0)
и размер такой же, как Screen
.Для этого вы можете использовать Screen.bounds
, именно то, что вы хотите, чтобы конечный кадр view
был.Свойство bounds
представления всегда будет иметь начало координат (0,0)
и размер, равный размеру представления.
Если у вас есть ссылка на Screen
, вы можете использовать Screen.bounds
как я упоминал выше, но если вы этого не сделаете, и вы знаете, что view
является подвидом Screen
, то вы можете использовать view.superview.bounds
.
Теперь анимация.Поскольку мне приходится писать приложения, поддерживающие версии iOS, начиная с версии 3.0, я не могу использовать блочную анимацию.Вместо этого я использую UIView
методы класса, такие как:
// Here you can enter an identifier to identify your animation
// and an object that will be passed to your delegate.
// These 2 parameters are only useful if you set an animation delegate
// using [UIView setAnimationDelegate:delegate];
[UIView beginAnimations:nil context:nil];
// Duration in seconds
[UIView setAnimationDuration:0.5];
// Perform you changes here.
view.frame = view.superview.bounds;
// Commit the changes
[UIView commitAnimations];