Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 设置UITableview动画时';s高度,滚动手势识别器保持相同大小_Ios_Iphone_Objective C_Ipad_Uitableview - Fatal编程技术网

Ios 设置UITableview动画时';s高度,滚动手势识别器保持相同大小

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

我已经到处寻找解决这个问题的办法,但没有结果

我遇到的问题是,当我在应用程序中设置UITableView高度的动画时,可滚动区域的大小保持不变。也就是说,如果你点击并拖动tableview中高度增加的部分,什么也不会发生——但是如果你点击并拖动tableview的原始小框架,它的滚动会非常好

我用于设置tableview动画的代码如下所示:

[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,这可能导致了问题。我今天在另一个客户端,但回来后将进行测试。很抱歉,测试服务器目前已关闭,将在备份后立即进行测试。我测试了此客户端,但不幸的是,它对我不起作用