2012-10-19 28 views
0

在我的應用程序中,我在View1的視圖load()中設置了一些動畫,首先啓動它的工作,如果im被推入其他視圖,並且在view1中彈出它的非動畫時,我做什麼動畫而從另一種觀點的流行看法呢?在這裏我認爲沒有加載代碼,在popview上的Viewdid加載方法調用

- (void)viewDidLoad 
{ 
artext=[[NSMutableArray alloc] init]; 
arimage=[[NSMutableArray alloc] init]; 
arsound=[[NSMutableArray alloc] init]; 

[super viewDidLoad]; 
[self copysqlitetodocuments]; 
[self Readthesqlitefile]; 
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage  imageNamed:@"classroom.png"]]; 

} 

我試着用

- (void)viewDidAppear:(BOOL)animated 
{ 
[self buttonmover]; 
[super viewDidAppear:animated]; 
    } 

它不工作,任何一個可以請幫我解決這個問題

+0

你想要什麼動畫? – vishy

+0

我的按鈕移動功能給動畫,我試過它與視圖didappear它的顯示oly在第一次發射,溫我從其他視圖彈出其不顯示動畫? @vishy – iosdev

+0

向我們展示按鈕移動功能,您是否正在執行動畫..? – vishy

回答

0

如果y您希望在視圖出現時執行代碼(例如,一個動畫),-viewDidLoad是做錯的地方。

你應該使用:

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    // ... 
} 
+0

或viewWillAppear它有時會使加載看起來更平滑 –

0

嘗試在viewWillAppear中

-(void)viewWillAppear:(BOOL)animated 
{ 
    artext=[[NSMutableArray alloc] init]; 
    arimage=[[NSMutableArray alloc] init]; 
    arsound=[[NSMutableArray alloc] init]; 

    [self copysqlitetodocuments]; 
    [self Readthesqlitefile]; 
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"classroom.png"]]; 

} 
0

當你的viewDidLoad方法被調用時,該控制器還沒有在視圖層次,所以動畫不工作。

你必須在viewWillApper執行的動畫,實現該方法[超級viewWillAppear中]後。例如:

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 

    artext = [[NSMutableArray alloc] init]; 
    arimage = [[NSMutableArray alloc] init]; 
    arsound = [[NSMutableArray alloc] init]; 

    [self copysqlitetodocuments]; 
    [self Readthesqlitefile]; 
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"classroom.png"]]; 

} 
+0

無論從其他視圖回彈出它會顯示動畫吧? – iosdev

+0

所以你只需要第一次動畫? –

+0

不,我想做動畫,我每當我來到視圖 – iosdev