Iphone 使用水平滚动UITableView自动旋转界面时出现错误

Iphone 使用水平滚动UITableView自动旋转界面时出现错误,iphone,uitableview,horizontal-scrolling,autorotate,Iphone,Uitableview,Horizontal Scrolling,Autorotate,在我的应用程序的一个屏幕中,我实现了一个水平滚动的tableview。 选择的方法是对tableview应用90度旋转,然后将每个单元格旋转90度。 除了自动旋转的问题外,这一切都很好。我花了大半天的时间在这上面,但到目前为止运气不好 tableview框架会根据表的自动调整大小任务进行更改,并处于正常状态。问题在于tableview单元格不能很好地自动调整大小 我已经使用视图控制器的这段代码很好地调整了单元格的高度(带有平滑的动画) - (void)willRotateToInterfac

在我的应用程序的一个屏幕中,我实现了一个水平滚动的tableview。 选择的方法是对tableview应用90度旋转,然后将每个单元格旋转90度。 除了自动旋转的问题外,这一切都很好。我花了大半天的时间在这上面,但到目前为止运气不好

tableview框架会根据表的自动调整大小任务进行更改,并处于正常状态。问题在于tableview单元格不能很好地自动调整大小

我已经使用视图控制器的这段代码很好地调整了单元格的高度(带有平滑的动画)



- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    [volumesPicker beginUpdates];  
    [volumesPicker endUpdates]; 

    NSIndexPath*    indexPath   =   [NSIndexPath indexPathForRow:currentFocusedIndex inSection:0];
    [volumesPicker scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];

    [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];  
}

问题在于tableview单元格宽度。例如:

  • 我在设备处于横向模式时启动应用程序。tableview的渲染效果很好

  • 我在纵向模式下旋转设备,我的单元格的宽度突然小于表格(记住,表格视图是旋转的,所以单元格的宽度实际上是垂直测量的)

  • 然后我将设备旋转回横向模式,我的细胞从桌子框架中溢出

  • 仅当tableview应用了旋转变换时,才会出现此问题。如果我删除它,单元格将完全更新。另外,我已经测试过,单个单元格的旋转不会影响这个问题-只有整个tableview变换是一个问题

    那么,以前有没有人遇到过这个问题。。。或者知道如何控制单元格的宽度。在这一点上,我甚至对平滑动画都不感兴趣。我只是需要一些有用的东西

    谢谢,

    编辑:

    经过今天的进一步研究,我发现在旋转之后,单元格将调整大小,以便它们使用表格的高度作为单元格的宽度和高度

    这意味着在旋转之后,我将始终拥有与表格高度相等的方形单元格(我已经通过手动设置表格高度进行了测试,并且它被检出)


    更大的问题是,即使我在旋转后手动调整单元格大小,新创建的单元格仍然会有问题。不知怎的,表格弄乱了他用于单元格宽度的值:(

    我遇到了几乎相同的问题…你有没有碰巧找到解决方案?不幸的是,我没有找到任何解决方案。我不得不删除旋转变换,结果它工作得很好。谢谢你的回答。我也没有…我保持了旋转,但我不得不做一些非常糟糕的变通。似乎有一些问题allI遇到几乎相同的问题后,ally不是一个解决方案…你碰巧找到了解决方案吗?不幸的是,我没有找到任何解决方案。我不得不删除旋转变换,结果它工作得很好。谢谢你的回答。我也没有…我保持了旋转,但我不得不做一些非常糟糕的工作似乎根本没有解决办法