在一个视图里,要求点击一个按钮后,将另一个TableView视图从底部弹出。该TableView要求占据屏幕的下半部分,在后面的原视图要求像弹出警告时那样变暗,但点击后可以将新弹出的TableView退回。要实现这样的效果需要用到哪些方法?大体的实现思路是什么?

解决方案 »

  1.   

    可以通过代码生成一个tableview并制定位置为最下方(看不见),然后点按钮后,更改tableview的位置,并设置动画效果,可以实现。
      

  2.   

    用CATransition,将这个subtype = KCATransitionFromBottom就可以了
      

  3.   

    tableview也是uiveiew的一个子类,对于uiview的动画,它也支持。。
      

  4.   

    变暗需要首先添加全屏的uiview,通过动画调整alpha,至于弹出可以使用CATransition,通过调整动画的时延来保证变暗和弹出的同步
      

  5.   

    可以通过改变UITableView 的坐标位置,并加上动画效果可实现
    [UIView beginAnimations:nil context:nil];
    .....
    [UIView commitAnimations];
      

  6.   

    CATransition* trans = [CATransition animation];
    [trans setType:kCATransitionPush];
    [trans setDuration:0.3];
    [trans setSubtype:kCATransitionFromBottom];

    CALayer *layer = tableView.layer;
    [layer addAnimation:trans forKey:@"Transition"];
      

  7.   

    用ccteam的开源代码CCTableTipView
    http://blog.csdn.net/cxsjabcabc/article/details/7178120所有工程的代码:
    https://github.com/cxsjabc/iphone-common-codes-ccteam