анимация addSubview

У меня есть основной 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 появляется? Как масштабирование или скатываются или что-то как этот. Есть ли некоторый простой код?

57
задан Willy 22 October 2012 в 08:04
поделиться

1 ответ

Привет, вы могли бы использовать анимацию 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];

Надеюсь, это поможет вам начать работу :)

79
ответ дан 24 November 2019 в 19:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: