2011-05-06 98 views
0

我是Xcode和Objective-c的新手。最近我想做一个关于弹出桌面视图的任务。当按下按钮时,桌面视图应该从屏幕底部弹出。 tableview将包含只有几个项目,所以我不想占用全屏。我阅读手册并找到了UIModalPresentationStyle,但似乎不符合我的要求。那么我可以使用哪些更准确的方法?如何实现从屏幕底部弹出tableview的效果?

回答

1

虽然@Bharat J的答案是正确的,这些方法已被弃用iOS中4.0。

最新最好的实现是+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations

实现为:

[UIView animateWithDuration:0.5 animations: ^{ 
     tableView.frame = newFrame; 
    } 
]; 
1

您可以使用下面的代码创建一个动画块。将表格视图的框架设置为(0,480,320,0)当您按下按钮时,将更改动画区块中表格视图的框架,并将其设置为CGRectMake(0,200,320,280)或其他东西。

[UIView beginAnimations:@"AnimateTableView" context:view]; 
    [UIView setAnimationDuration:0.5]; 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 

    tableView.frame = CGRectMake(0, 200 , 320, 280); 

    [UIView commitAnimations]; 

用于隐藏它的同一个动画块,但是再次使用该框架将其设置为CGRectMake(0,480,320,0)。这应该适用于你的情况。

相关问题