ビューをUISwipeGestureRecognizerに登録して、左または右のスワイプを認識します。そして、応答操作は次のとおりです。
[UIView beginAnimations:@"slide" context:nil];
[UIView setAnimationDuration:4];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
CGRect frame = self.sliderImageView.frame;
if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft )
{
frame.size.width = 0;
self.sliderImageView.frame = frame;
}
else if (recognizer.direction == UISwipeGestureRecognizerDirectionRight)
{
frame.size.width = 199;
self.sliderImageView.frame = frame;
}
[UIView commitAnimations];
表示されているビューを取得できる場合はself.sliderImageView.frame.width
どうなりますか?アニメーション中に使用しようとしているのNSLog(@"%f", self.sliderImageView.frame.size.width)
は0または199であるためです。それで、?を取得する方法はありますframe.width
か?