ラベルに UIViewAnimationOptionCurveEaseOut と UIViewAnimationOptionCurveEaseIn アニメーション オプションを使用しないのはなぜですか? EasyOut アニメーションを使用して再度スライドインする場合は、ラベルの frame.origin.x = [スーパービューの境界の右側の外側] を設定し、元の位置に戻すだけです。これは私が話していることです...
CFRect frame = self.listLabel.frame;
//Point to hide your label by sliding it outside the right side of it's parent's view.
// mask or clipToBounds of parent's view must be YES
frame.origin.x = [self.listLabel.superview.frame.size.width];
[UIView animateWithDuration:0.1
delay:0.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
[self.listLabel setFrame:frame];
}
completion:nil];
また、スライドインしたい場合は、反対のアニメーションとラベルの元の位置を使用します。もちろん、元の位置をどこかに保存して、スライドインできるようにする必要があります。
[UIView animateWithDuration:0.1
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
[self.listLabel setFrame:label_original_frame];
}
completion:nil];