0

私のアプリケーションでは、View1 のビュー load() にいくつかのアニメーションを設定します。最初に、他のビューにプッシュされた場合、適切に動作するように起動し、view1 にポップしている間はアニメーション化されません。私のビューはコードをロードしました、

 - (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];
  }

うまくいきません。この問題を解決するために誰か助けてください。

4

3 に答える 3

0

ビューが表示されたときにコードを実行したい場合 (アニメーションなど)-viewDidLoadは、実行する場所が間違っています。

おそらく使用する必要があります:

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    // ...
}
于 2012-10-19T09:32:13.443 に答える
0

ビューで試してみると表示されます

  -(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"]];

 }
于 2012-10-19T09:33:37.183 に答える
0

viewDidLoad メソッドが呼び出されたとき、コントローラーはまだビュー階層にないため、アニメーションは機能しません。

メソッド[super viewWillAppear]を実装した後、 viewWillApperでアニメーションを実行する必要があります。何かのようなもの:

- (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"]];

}
于 2012-10-19T09:34:15.407 に答える