tutorialImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Tap to Start.png"]];
tutorialImage.frame = CGRectMake(0, 0, 1024, 768);
[tutorialImage addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(blankMethod)]];
tutorialImage.userInteractionEnabled = YES; // i use this line and the previous line so that the user can't press any buttons behind the image
tutorialImage.alpha = 0;
[self.view addSubview:tutorialImage];
[self.view bringSubviewToFront:tutorialImage];
[UIView animateWithDuration:1.0f animations:^{
tutorialImage.alpha = 1;
} completion:^(BOOL finished) {
[self.view addSubview:tutorialImage]; // this line makes the image come back
}];
おそらくこのコードだけでは問題を推測できないことはわかっていますが、そのコードには、tutorialImage をスーパービューから自動的に削除するものはありますか?
とにかく、UIView アニメーションの間、画像は通常のように少しフェードインし、その後消えます。そこにコードの最後の行 (コメント付きの行) を追加すると、UIView アニメーションによって画像がフェードインし、途中で一度点滅します。この画像を追加したばかりで、スーパービューから自分自身を削除するように指示するコードはありません。
問題を修正したり、より多くのコードを表示したりするためのアイデアがあれば教えてください。頻繁に確認します。
また、シミュレーターを再起動してみましたがうまくいきませんでした.チュートリアル画像はhファイルで宣言されていますUIImageView *tutorialImage;
. 問題が発生しても、コンソールにはエラーも何も表示されません。
編集:
わかりました、奇妙です。H ファイルの宣言を から に変更し、_tutorialImage を使用して問題を修正しましたUIImageView *tutorialImage;
。@property (strong, nonatomic) UIImageView *tutorialImage;
これは強力なパラメーターと関係がありますか? 何が起こっていたのかを説明できる人を正しいとマークします。