Object-C アニメーション設定について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
まる

Object-C アニメーション設定について

#1

投稿記事 by まる » 15年前

言語:Object-C
質問内容:object-cにて、静止画をつかったスライドショー表示するアプリを作成しています。
そこでアニメーション設定についてご教授ください。

2点ほど質問がございます。


質問1)


---------------------------------------------------------------
NSMutableArray *imagesFiles = [[NSMutableArray alloc] init];
:
UIImage *image = [[UIImage alloc] .......];
:
[imagesFiles addObject:image];
:
imageView.animationImages = imagesFiles; //アニメーションのコマ設定
:
[imageView startAnimating]; //アニメーション開始
:
一定時間
:
[ imageView stopAnimating ] //アニメーション停止
---------------------------------------------------------------

上記のようにアニメーションの静止画データを配列でもたして
一定時間スライドショーさせてとめようとおもうのですが、
アニメーション停止時、画像がきえてしまいます。
そこで、停止後に
imgView.image = UIImage 最終フレーム画像
で停止した際の画像を表示したいとおもってます。

しかしこの最終フレーム画像をどうやってもとめたらいいかわかりません。



質問2)


上記のアニメーション実行をするにあたり大きいサイズの動画を読み込み中に
UIActivityIndicatorViewにてぐるぐる表示のインディケータを表示させようと
読み込み開始前に、ぐるぐるアニメーション開始命令、
読み込み処理完了後にぐるぐるアニメション停止よりをいれたのですが、
読み込み中表示処理をしてくれず、読み込み後にぐるぐる表示処理されずに
スライドショーのアニメーションのみ表示されます。

ためしにぐるぐるアニメーション停止処理をいれずに実施してみましたが
スライドショーとぐるぐるアニメーションが同時にはじまります。

どうも読み込み時に表示処理ができてない???ように思うのですが
どのような対処をすればいいのでしょうか。

スライドショー表示の画面構成は、InterFaceBuilderを使用しています。

漠然とした質問ですみません。







ご教授お願いします。 画像

Justy

Re:Object-C アニメーション設定について

#2

投稿記事 by Justy » 15年前

>アニメーション開始
 多分停止した際の画像が何であるかを知る手はない、と思います。
 少なくとも私は知らないです。


>imgView.image = UIImage 最終フレーム画像
 多分これが出来るのはアニメーション開始前にセットしておくと、ってことじゃないでしょうか。
 勿論停止時点の UIImageが何であるかは予測できないので事前にセットしておくことはできません。


 現状提示できる解決方法としては自前のタイマー制御で画像を順次切り替えていくようにする、です。
 
[iPhone]タイマー処理 NSTimerの使い方 « tAkatronix's GEEEK notes
http://freeek.jp/blog/iphone/28/

 自分で切り替えているなら勝手に消えることはないので、タイマーを停めるだけで済みます。


>UIActivityIndicatorView
 どういうコードになっているのかよくわかりませんが、ひょっとして同一関数内で
インジケータの開始と終了があり、その間で読み込んでいるようなコードになっているのでしょうか?

 通常処理のところでアニメーション開始、別スレッドを作ってそちらで読み込み処理を行い、
そのスレッドの終了時にインジケータを停めるようにしてみて下さい。


UIActivityIndicatorViewを回す - gikohaの日記
http://d.hatena.ne.jp/gikoha/20100409/1270777572

無題メモランダム: [iPhone]UIActivityIndicatorViewでハマった件
http://blog.mudaimemo.com/2010/05/iphon ... rview.html

UIActivityIndicatorView - 忘れないようにメモ
http://d.hatena.ne.jp/uedam0322/20090206

まる

Re:Object-C アニメーション設定について

#3

投稿記事 by まる » 15年前

Justyさんいつもお世話になっております。

1)について
>現状提示できる解決方法としては自前のタイマー制御で画像を順次切り替えていくようにする
なるほどー、ありがとうございます。
タイマーを使用してためしてみます。

2)について

同一関数内ですべて行っていました。
別スレッドって別関数っていう意味でよろしいのでしょうか?

こちらもためしてみます。

結果また報告いたします。

まる

Re:Object-C アニメーション設定について

#4

投稿記事 by まる » 15年前

2)のぐるぐるアニメーションに関してまして
下記のように別関数で行いましたが、getTwitterTimeLine(ツイッターのタイムライン取得)が
終了するまでぐるぐるアニメーションの表示がされませんでした。


- (IBAction)myAction1:(id)sender {

NSLog(@"myAction1 ===>");
//ボタン表示更新

[button setTitle:@"Stop" forState:UIControlStateNorma[/url];
// [button setTitle:@"Start" forState:UIControlStateNorma[/url];


UIActivityIndicatorView *indicator;
indicator = [[[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:
UIActivityIndicatorViewStyleGray]
autorelease];
indicator.frame = imageView.bounds;
indicator.hidesWhenStopped = TRUE;
indicator.contentMode = UIViewContentModeCenter;

[indicator startAnimating];
[imageView addSubview: indicato[/url];




[self getTwitterTimeLine];

NSLog(@"myAction1 <===");

}

別スレッドで行うの意味を取り違えているのでしょうか。。。。?

閉鎖

“C言語何でも質問掲示板” へ戻る