开发者

How to implement the effect of popping up tableview from bottom of screen?

开发者_如何转开发

I'm a newbie of Xcode and Objective-c. Recently I wanna do a task about popping up tableviews. When a button is pressed, the tableview should pop up from the bottom of the screen. The tableview will contain just a few items so I don't wanna it occupy full screen. I read the manual and found UIModalPresentationStyle, but it seems not fulfill my requirements. So what's the more accurate methods I can use?


While @Bharat J's answer is correct, those methods are deprecated in iOS 4.0.

The latest and greatest implementation is + (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations

Implemented as:

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


You can use below code to create an animation block . Set the frame for the table view as (0,480,320,0) When you hit a button change the frame of the table view in the animation block and make it to CGRectMake(0,200,320,280) or something .

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

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

   [UIView commitAnimations];

The same animation block for hiding it again but with the frame again begin set to CGRectMake(0,480,320,0). This should work in your case .


Another option would be to use a UIActionSheet and add the uitableview as a subview.

Here is a very similar question about how to add a UIPickerview with similar effect.

Add UIPickerView & a Button in Action sheet - How?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜