使用相同的动画隐藏/取消隐藏UIPicker

时间:2013-08-05 10:06:04

标签: ios uipicker

我正在制作一个项目,我需要隐藏我的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以与出现时相同的方式隐藏。 希望它不那么令人困惑。 感谢名单

2 个答案:

答案 0 :(得分:1)

要将视图重置为原始位置,您需要将transform重置为CGAffineTransformIdentity

答案 1 :(得分:0)

正如@Wain所说,您在显示transform时更改了UIPickerView属性。

如果要在点击按钮时消除拾取器视图,则需要再次设置其转换。

以下是在iOS中使用UIView学习动画的链接:
http://developer.apple.com/library/ios/#documentation/windowsviews/conceptual/viewpg_iphoneos/animatingviews/animatingviews.html

相关问题