UIPicker でアニメーションを実行しようとしています。アプリが非表示で実行され、ボタンが押されるとボタンからスライドして表示され、ボタンをもう一度タップするとスライドします。まあ、私のコードはそれを行いますが、一度だけです。します:
最初のクリック -> ピッカーを表示、isPickerHidden = NO
2 回目のクリック -> ピッカーを非表示、isPickerHidden = YES
3 回目のクリック -> 何もしませんが、isPickerHidden = NO を返します。viewDidLoad 宣言の場所は;
4回目のクリックと同じように、何もしませんが、正しいBOOL値を返します。
isPickerHidden = YES;
[self.picker setHidden:isPickerHidden];
if(isPickerHidden == NO){
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.6];
CGRect frame = self.picker.frame;
[self.picker setFrame:CGRectOffset(frame, self.picker.frame.origin.x, self.picker.frame.origin.y)];
[UIView commitAnimations];
isPickerHidden = YES;
NSLog(@"hidden yes");
}else if(isPickerHidden == YES) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.6];
CGAffineTransform transfrom = CGAffineTransformMakeTranslation(0, -200);
self.picker.transform = transfrom;
[self.picker setHidden:NO];
[UIView commitAnimations];
NSLog(@"hidden no ");
isPickerHidden = NO;
}
私が直面している問題と、何が欠けているのかを知りたいです。ありがとう