我是Xcode和Objective-c的新手。最近我想做一个关于弹出tableviews的任务。按下按钮时,应从屏幕底部弹出tableview。 tableview将只包含几个项目,所以我不想占据全屏。我阅读了手册并找到了UIModalPresentationStyle,但它似乎不符合我的要求。那么我可以使用哪些更准确的方法呢?
答案 0 :(得分: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)。这应该适用于你的情况。
答案 1 :(得分:1)
虽然@Bharat J的答案是正确的,但这些方法在iOS 4.0中已弃用。
最新最好的实施是+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations
实施为:
[UIView animateWithDuration:0.5 animations: ^{
tableView.frame = newFrame;
}
];
答案 2 :(得分:0)
另一种选择是使用UIActionSheet并将uitableview添加为子视图。
这是一个非常类似的问题,关于如何添加具有类似效果的UIPickerview。