У меня есть основной UIView, где я отображаю различные данные. Затем я поместил кнопку, которая отображает подпредставление как это:
- (IBAction) buttonClicked:(id)sender
{
UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(25,25,50,20)];
UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectMake(25,25,50,25)];
newLabel.text = @"some text";
[newView addSubview:newLabel];
[self.view addSubview:newView];
[newLabel release];
[newView release];
}
newView кажется прекрасным, но он не анимирует себя никакой путь, это просто сразу появляется. Как я могу добавить некоторую анимацию, когда newView появляется? Как масштабирование или скатываются или что-то как этот. Есть ли некоторый простой код?
Привет, вы могли бы использовать анимацию UIView:
[newView setFrame:CGRectMake( 0.0f, 480.0f, 320.0f, 480.0f)]; //notice this is OFF screen!
[UIView beginAnimations:@"animateTableView" context:nil];
[UIView setAnimationDuration:0.4];
[newView setFrame:CGRectMake( 0.0f, 0.0f, 320.0f, 480.0f)]; //notice this is ON screen!
[UIView commitAnimations];
SDK теперь выяснит это за вас и анимирует вид в позиции, которые вы ему указали. Это работает для большинства свойств UIViews: alpha, scale , границы, рамки и т. д.
Также есть встроенные анимации, такие как переворот и скручивание:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:newView
cache:YES];
[self.navigationController.view addSubview:settingsView.view];
[UIView commitAnimations];
Надеюсь, это поможет вам начать работу :)