0

ビューの読み込み中にボタンでアニメーションを作成しようとしているので、ViewDidLoad に次のコードを記述します。

 ScanBtnVIEW.alpha=0;
ScanBtnVIEW=[[UIView alloc]initWithFrame:CGRectMake(78,-10,164,164)];

[self startAnimation];

次に、viewDidLoad の外で、次のように StartAnimation メソッドを実装しました。

-(void)startAnimation{
[UIView animateWithDuration:1.0
                      delay:0.0
                    options: UIViewAnimationOptionCurveLinear
                 animations:^{
                     ScanBtnVIEW.alpha=1;
                     //ScanBtnVIEW=[[UIView alloc]initWithFrame:CGRectMake(78,260,164,164)];
                     ScanBtnVIEW.frame = CGRectMake(78,260,164,164);

                 }
                 completion:^(BOOL finished){
                     NSLog(@"Done!");
                 }];

}

しかし、実際にはアプリからビューを読み込んだ後、ボタンは表示されませんでした。アニメーションを簡単に適用できるように、imageView 内にボタンを配置していることに注意してください。誰でもこれを手伝うことができます、私は感謝します

4

2 に答える 2

0

問題1

ビューの読み込み中にボタンでアニメーションを作成しようとしています

しないでください。ビューをロードすることは、ビューをロードすることです。起こっていることは、View Controller がself.view. ビューがインターフェイスに表示されようとしているという意味はありません。実際、おそらくそうではありません。アニメーションを開始するタイミングは、ビューがインターフェイスに表示されたときviewDidAppear:です。

問題 2

ScanBtnVIEW=[[UIView alloc]initWithFrame:CGRectMake(78,-10,164,164)];

素晴らしいので、UIView を作成しました。しかし、あなたはそれをインターフェイスに入れたこともありません! だから、もちろん、あなたはそれを見るつもりはありません。基本的には、それを作成して床にドロップするだけです。そのポイントは何ですか?

問題 3

ScanBtnVIEW.alpha=0;
ScanBtnVIEW=[[UIView alloc]initWithFrame:CGRectMake(78,-10,164,164)];

それはいい。これで、ScanBtnView というビューが既にあることがわかります。しかし、あなたはそれを捨てて、あなたが作成したまったく新しいビュー ( ) に置き換え、それをalloc床に落としました! それはどのように奇妙です

おそらく、あなたは次のように言うつもりでした:

ScanBtnVIEW.alpha=0;
ScanBtnVIEW.frame = CGRectMake(78,-10,164,164)];
于 2013-04-07T06:07:55.930 に答える