UIButton Animation не работает

Я новичок в xcode и каждый день узнаю что-то новое, я застрял. Я хочу создать пользовательскую кнопку на второй раскадровке (MapTwoViewController), скажем, это пользовательская кнопка, которая выглядит как облако и идет слева направо.

Я создал пользовательскую кнопку в раскадровке и создал IBOutlet в GWSMapTwoViewController.h, поэтому он выглядит так и связан с кнопкой:

#import <UIKit/UIKit.h>

@interface GWSMapTwoViewController : UIViewController
@property (nonatomic, strong) IBOutlet UIButton *cloudAnimate;

@end

Таким образом, в моем GWSMapTwoViewController.m, на мой взгляд, сделал загрузку, у меня есть следующее:

#import "GWSMapTwoViewController.h"

@interface GWSMapTwoViewController ()

@end

@implementation GWSMapTwoViewController
@synthesize cloudAnimate;


- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Move UIView

    cloudAnimate.center = CGPointMake(200.0, 100.0);

    [UIView animateWithDuration:2.0 animations:^{ cloudAnimate.center = CGPointMake(100.0, 200.0);}];


}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

Он просто не хочет анимировать, он просто идет прямо к конечной точке, если я удаляю код анимации, то облако появляется в 200, 100, но если я помещаю в него код анимации, он просто перемещается к 100, 200 или любым другим координатам. Я вставляю. Он просто не оживляет, поэтому он либо в начальной, либо в конечной точке.

Может кто-нибудь сказать, когда я делаю что-то не так?

1 ответ

Решение

Переместите код анимации в

 - (void)viewDidAppear:(BOOL)animated

потому что viewDidLoad вызывается до того, как представление станет видимым.

Не забудьте позвонить супер

Другие вопросы по тегам