无法在animateWithDuration中设置表视图的帧

时间:2014-08-07 07:38:29

标签: ios objective-c uitableview

我想在使用自定义单元格时设置UITableView框架的更改动画。使用标准UITableViewCell时,以下代码可以正常运行。但是,当我使用带有一个标签的简单自定义单元格时,会出现问题。

[UIView animateWithDuration:1
                      delay:0
                    options:UIViewAnimationOptionCurveEaseIn
                 animations:^{

                     CGRect frame = self.tableView.frame;
                     frame.size.height += 100;

                     NSLog(@"BEFORE: %@", NSStringFromCGRect(self.tableView.frame));
                     self.tableView.frame = frame;
                     NSLog(@"AFTER: %@", NSStringFromCGRect(self.tableView.frame));
                 }
                 completion:^(BOOL finished) {

                        NSLog(@"COMPLETED: %@", NSStringFromCGRect(self.tableView.frame));
                 }];

三个NSLog语句产生了这个:

    BEFORE: {{10, 73}, {300, 0}}
    AFTER: {{10, 73}, {300, 100}}
    COMPLETED: {{10, 73}, {300, 0}}

请注意,框架似乎在动画期间发生了变化,但一旦结束,就看不到变化。同样,这只是在我使用自定义UITableView单元格时,当使用默认单元格时,一切都运行良好。任何帮助表示赞赏!

0 个答案:

没有答案