UIScrollView 选定的单元格在旋转到横向时超出当前视图
Posted
技术标签:
【中文标题】UIScrollView 选定的单元格在旋转到横向时超出当前视图【英文标题】:UIScrollView selected cell goes out of present view on rotation to landscape 【发布时间】:2013-08-22 15:55:16 【问题描述】:我在 UIScrollView 中有一个 UITableView。表格单元格是垂直的,即一个在另一个之下。如果我选择纵向的底部单元格,它会突出显示并显示一个弹出框。但是,在旋转到横向时,选定的单元格会从可见视图中消失,但它的弹出框仍然存在。我了解旋转时的 UIScrollView 使用 UITableView 中最顶部的单元格作为新(横向)方向的最顶部。我如何强制它仍然将选定的单元格保持在旋转视图中,即旋转时,可能以选定的单元格作为参考点旋转。
【问题讨论】:
【参考方案1】:我相信您需要在视图控制器的界面旋转事件中调用此方法。
-(void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath
atScrollPosition:(UITableViewScrollPosition)scrollPosition
animated:(BOOL)animated;
您可以在视图控制器中执行以下操作:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromOrientation
[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
您可以从以下事件中获取所选行的indexPath:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
【讨论】:
谢谢,我不确定 war scrollToRowAtIndex 是否有效,并且从未尝试过。我有 indexPath 来检查所选单元格是否可见。 酷,很高兴我能帮上忙!以上是关于UIScrollView 选定的单元格在旋转到横向时超出当前视图的主要内容,如果未能解决你的问题,请参考以下文章
使用 Storyboard 和 Autolayout 旋转到横向后,UIScrollView 中的 UIButtons 不可触摸?