将 UIViewController 与 UIView 一起使用 - (想改用 UIScrollView) - 如何进行切换
Posted
技术标签:
【中文标题】将 UIViewController 与 UIView 一起使用 - (想改用 UIScrollView) - 如何进行切换【英文标题】:Using UIViewController with a UIView - (Want to use UIScrollView instead) - How to make the switch 【发布时间】:2011-02-27 21:15:00 【问题描述】:我需要实现一个滚动窗口以容纳我正在创建的表单上的所有项目。我当前的实现是一个 UIViewController(即 vcAddCourse),它有一个 UIView 和我当前的表单。
这是我将 UIScrollView 添加到等式中所做的。
1) 使用 IB,我将 uiscrollview 对象“拖入”现有的 uiview 对象。 2) 使用 IB,从文件所有者按住 Ctrl 键拖动到我为新的 uiscrollview 创建的 IBOutlet 这是我如何初始化这个控制器。 3) 我确保我的表单上的所有项目现在都被拖到 UIScrollview 对象下。
最后,在我的 .m 文件中,在 ViewdidLoad() 函数中,我添加了以下行:
theScroller.contentSize=CGSizeMake(328, 680);
不高兴。我看到了表格,但它不滚动。
注意:这是在 iphone 模拟器上。
我还必须做什么才能将 UIView 换成新的 UIScrollView?
谢谢!
【问题讨论】:
【参考方案1】:为了使这些事情清晰,我将 scrollView 和(更大的)子视图在 xib 文件中分开(作为兄弟姐妹)。您的表单应该在 UIView 上,并且比滚动视图大。这样您就可以使用 IB 来完全按照您的需要来布局表单。 为了让事情顺利进行,您只需将 IBOutlets 加入 UIScrollView 和 UIView,然后在 viewController 的 viewDidLoad 方法中将视图添加到滚动视图:
[theScroller addSubView:formView];
我不太确定,但我认为您不必在此之后手动设置 contentSize,因为它应该自动变得足够大以适合您的视图。如果它不工作,你可以试试这个: theScroller.contentSize = formView.frame.size;
希望对你有帮助
【讨论】:
谢谢,让我试一试。以上是关于将 UIViewController 与 UIView 一起使用 - (想改用 UIScrollView) - 如何进行切换的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式向 UIView 或 UIViewController 添加约束?
Interface Builder 是如何知道 UIViewController 的视图的?
将 UIViewController 与 UIView 一起使用 - (想改用 UIScrollView) - 如何进行切换