0

我想创建一种扩展器(如.net)动画。我有一个 UITableView 填充了一个数组。当我触摸一行时,我想显示一个 UIView(或者我猜是一个 SubView),它会在行单元格下展开。

有可能实现这一目标吗?我看过大部分动画 UIView setAnimation Transition 但没有一个适合我的需要。

谢谢你的帮助!

哦,顺便说一句,我在 Mac os x 10.7.4 上运行 Xcode 4.3.3。目前的目标设备是 iPhone 5.1

4

1 回答 1

2

我还没有看到 .net 扩展器,但您可以使用 UITableViews 实现此效果。您可以将要扩展的视图放在单独的部分中的单元格中(我们称之为 B 部分)。numberOfRowsInSection:然后,您将通过设置为 B 部分返回 0 来隐藏单元格。

当您想显示视图时,您可以设置一个标志或布尔值以使numberOfRowsInSection:B 部分返回 1,然后调用reloadSections:withRowAnimation:以重新加载 B 部分。请注意,如果您将行动画设置为UITableViewRowAnimationTop您将实现扩展器效果。

编辑:

要隐藏该部分中的单元格,您可以这样做:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    if (section == 2) {//assume 2 is section B

        if (showExpandedView)  //ShowExpandedView is a BOOL you would use to 
            return 1;          //to trigger the expanded view.
        else
            return 0;
    }      
    ...
}

希望这可以帮助

于 2012-07-13T16:25:55.073 回答