Ios 设置UITableview动画时';s高度,滚动手势识别器保持相同大小
我已经到处寻找解决这个问题的办法,但没有结果 我遇到的问题是,当我在应用程序中设置UITableView高度的动画时,可滚动区域的大小保持不变。也就是说,如果你点击并拖动tableview中高度增加的部分,什么也不会发生——但是如果你点击并拖动tableview的原始小框架,它的滚动会非常好 我用于设置tableview动画的代码如下所示:Ios 设置UITableview动画时';s高度,滚动手势识别器保持相同大小,ios,iphone,objective-c,ipad,uitableview,Ios,Iphone,Objective C,Ipad,Uitableview,我已经到处寻找解决这个问题的办法,但没有结果 我遇到的问题是,当我在应用程序中设置UITableView高度的动画时,可滚动区域的大小保持不变。也就是说,如果你点击并拖动tableview中高度增加的部分,什么也不会发生——但是如果你点击并拖动tableview的原始小框架,它的滚动会非常好 我用于设置tableview动画的代码如下所示: [UIView animateWithDuration:0.3 animations:^{ self.view.frame = ex
[UIView animateWithDuration:0.3 animations:^{
self.view.frame = extendedFrame;
self.tbl_body.frame = extendedFrame;
}];
提前谢谢 这是在黑暗中拍摄的,但是。。。您是否尝试过使用完成块重新加载数据
[UIView animateWithDuration:0.3 animations:^{
self.tbl_body.frame = extendedFrame;
}completion:^(BOOL finished){
[self.tbl_body reloadData];
}];
好吧,我终于解决了这个问题,但还是不太明白这个问题 我能修复它的唯一方法是在初始化时将框架设置为扩展框架,然后将其重新调整为最小化框架。只有当它被扩展时,手势识别器才具有正确的大小
我知道这并不完美,但我不得不这么做,因为没有更好的解决方案您在这里调整的视图到底是什么?
UITableView
本身(所以这是一个子类),还是保存您的UITableView
的视图?我问这个问题是因为不清楚您的表是否正在调整大小,如果您的表中没有太多的单元格,您甚至可能不会注意到这一点。只是为了测试,使表的背景颜色不同于其容器的颜色。对不起,我的错误,我遗漏了最重要的部分lol。如果tbl_body(table view)在视图(self.view)中,并且框架没有(0,0)的原点,我将扩展视图的框架以及作为子视图的tableview然后表格将有一个偏移量(对于原点的x和y)。在表的末尾,框架应等于其容器边界。还要测试(NSLog)动画后帧的真实情况-如果使用自动布局,则在使用帧时可能会比较棘手。您是否进行了不同颜色的测试?您好,是的,我已记录了帧值以及切换的背景颜色,以测试帧和tableview帧是否相同,以及所有内容是否正确。似乎只有手势识别器没有增加它的帧。我不使用自动布局,因为我在代码中执行所有操作。UITableview属于子ViewController,因此委托与UIScrollView不同,因此委托方法不会相互冲突。也就是说,我想可能是我忘了将其注册为子ViewController,这可能导致了问题。我今天在另一个客户端,但回来后将进行测试。很抱歉,测试服务器目前已关闭,将在备份后立即进行测试。我测试了此客户端,但不幸的是,它对我不起作用