在为UITableview的高度设置动画时,滚动手势识别器保持相同的大小

时间:2014-01-29 17:40:43

标签: ios iphone objective-c ipad uitableview

我已经广泛搜索了解决方案,但无济于事。

我遇到的问题是当我在应用程序中设置UITableView的高度动画时,可滚动区域保持相同的大小。即。如果您点击并拖动已经增加高度的tableview部分,则不会发生任何事情 - 但如果您点击并拖动桌面视图的小原始框架,它会完全滚动。

我用来为tableview设置动画的代码如下:

[UIView animateWithDuration:0.3 animations:^{
            self.view.frame = extendedFrame;    
            self.tbl_body.frame = extendedFrame;                
        }];

提前致谢!

2 个答案:

答案 0 :(得分:1)

好的,所以我终于解决了这个问题,但仍然不太明白这个问题。

我能解决的唯一方法是在初始化时将帧设置为扩展帧,然后将其调整为最小化帧。只有当它被扩展时,手势识别器的大小才正确。

我知道并不完美,但由于缺乏更好的解决方案,我不得不接受这一点

答案 1 :(得分:0)

这是在黑暗中拍摄但是......你尝试使用完成块来重新加载数据吗?

[UIView animateWithDuration:0.3 animations:^{
        self.tbl_body.frame = extendedFrame;                
    }completion:^(BOOL finished){
        [self.tbl_body reloadData];
}];