在设置UIDatePicker的可见性时给出动画

时间:2009-10-16 05:23:03

标签: iphone iphone-sdk-3.0

Hai all,

在我的iphone应用程序中,当我点击一个UIButton它会显示一个UIDatePicker(使用setVisible:YES),有没有办法动画DatePicker外观,(现在当用户点击它时会突然出现在UI中)< / p>

提前致谢

2 个答案:

答案 0 :(得分:4)

是的,当您调用选择器设置可见时,可以制作动画。

最初隐藏您的选择器。按下UIButton时您只需调用以下方法(animatePicker)。 在下面的方法中,对于pickerview,只有隐藏设置为false,但是使用CAanimation。

-(void)animatePicker
{

    CATransition *animation = [CATransition animation];
    [animation setDelegate:self];
    // Set the type and if appropriate direction of the transition, 
    [animation setType:kCATransitionMoveIn];
    [animation setSubtype:kCATransitionFromTop];
    // Set the duration and timing function of the transtion -- duration is passed in as a parameter, use ease in/ease out as the timing function
    [animation setDuration:0.4];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]];
    [[PickerView layer] addAnimation:animation forKey:@"transitionViewAnimation"];  

    PickerView.hidden = FALSE;


    [[PickerView layer] removeAnimationForKey:@"transitionViewAnimation"];
    animation = nil;

} 

注意:请包含Quartz框架(QuartzCore.framework)并将其头文件(QuartzCore / QuartzCore.h)导入您的控制器。

答案 1 :(得分:0)

一个好主意是像任何其他键盘一样启动它。在屏幕外启动它。启动动画,将其设置为屏幕上的位置,然后提交动画。否则你可以做任何你想做的疯狂视图动画。淡入,其他幻灯片动画,也许会扩展到视图中?