如何在 iPad 中处理不同的滚动视图以改变方向?
Posted
技术标签:
【中文标题】如何在 iPad 中处理不同的滚动视图以改变方向?【英文标题】:How to handle different scrollView for orientation change in iPad? 【发布时间】:2011-08-17 07:51:24 【问题描述】:我有一个滚动视图,其中包含两个不同方向的 2 个不同子视图。 在纵向模式下,它显示一个表格视图,在纵向模式下,它显示 UIImageView。 我想知道处理方向的理想方法。 我目前的处理方式有问题 1.加载视图,并将滚动视图作为子视图添加到根视图。 2.改变方向, 3.更改滚动视图的框架和内容。 4.再次将修改后的scrollview添加为子视图。
但是,每次我改变方向时,新视图都会添加到前一个视图之上。
【问题讨论】:
【参考方案1】:如果您想为不同的方向提供两个不同的视图,则需要在方向更改时切换它们。
当你从纵向转到横向时,你必须删除 UIImageView 并添加滚动视图(反之亦然)
[myImageView removeFromSuperview];
[self.view addSubview:scrollView];
您还可以检查视图是否没有超级视图以确保您必须添加它:
if(scrollView.superview == nil)
[self.view addSubview:scrollView];
【讨论】:
它对我不起作用。我正在使用导航控制器,并且这两个子视图都添加到此导航控制器的根视图中。【参考方案2】:由于您已经将 scrollView 添加为 subView,因此您无需再次将其添加为 subView。 只需更改scrollView的frame和contentSize即可。
对于视图的作用
[scrollView.subView removeFromSuperView]
[scrollView addSubView:view1]; // or add view2
【讨论】:
以上是关于如何在 iPad 中处理不同的滚动视图以改变方向?的主要内容,如果未能解决你的问题,请参考以下文章
iPad - 带有 UITextField 的 UITableView - 方向改变时自动调整大小问题
UIScrollView + 改变方向 = 混乱的子视图(iPad)