0

現在、UIPicker を非表示にする必要があるプロジェクトを作成しています。このコードですべての非表示とアニメーションを実行しました。

ボタン プレス イベントで、このコードは次のように記述されます。

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.8];
    CGAffineTransform transfrom = CGAffineTransformMakeTranslation(0, -200);
    self.picker.transform = transfrom;
    self.picker.alpha = self.picker.alpha * (-1) + 1;
    [UIView commitAnimations];

ビューではロードが初期化されました。

    self.picker.alpha = 0;
    [self.view addSubview:self.picker]; //i dont really need this one

したがって、ここではピッカーがボタンから上 (0,-200) に表示されますが、もう一度ボタンをクリックすると、self.picker.alpha が 0 になるとすぐに消えます。アニメーションの遅延と [UIView setAnimationDelay:3] も入れてみました; また、animationDuration をさらに設定しようとしましたが、非表示にするときに影響しません。

表示されるのと同じ方法で UIPicker を非表示にする方法を教えてください。それほど混乱しないことを願っています。ありがとう

4

2 に答える 2

1

ビューを元の位置にリセットするには、 を にリセットtransformCGAffineTransformIdentityます。

于 2013-08-05T10:09:34.447 に答える
0

@Wain が述べたように、transform表示中にプロパティを変更しましたUIPickerView

ボタンのクリック時にピッカー ビューを非表示にする場合は、その変換を再度設定する必要があります。

iOS のUIViewでアニメーションを学習するためのリンクは次のとおりです。

于 2013-08-05T10:15:06.957 に答える