在VC中包含具有动态高度的项目,具有可滚动功能

时间:2016-02-05 00:43:57

标签: ios swift uiscrollview

这是我想象的图像。 enter image description here

底部的两个底部将始终保持在那里。 textview和容器视图的高度是动态的。我将在容器视图中容纳另一个viewcontroller。当textview和容器视图的高度之和大于当前viewcontroller的高度时,我希望它们是可滚动的。

我一直在研究两件事:UICollectionView,UIScrollView。 但是,我无法弄清楚如何制作我用这两个组件构想的东西。

我也尝试过使用stackview,但这不适合我的目的。

我的直觉告诉我UIScrollView是要走的路,但我无法弄明白。我当前的尝试是放置滚动视图并将约束设置为导航栏和2个按钮。然后,使用storyboard将textview和容器视图放在滚动视图中。

如果有人可以指导我一点,那对我来说会非常有帮助。抱歉,不包含任何代码,顺便说一句。我甚至无法开始:/

1 个答案:

答案 0 :(得分:0)

let margin = CGFloat(10)

let scrollView = UIScrollView(frame: view.frame)
let textView = UITextView(frame: CGRectMake())//Set textViewFrame
let containerView = UIView(frame: CGRectMake(x:margin, y: textView.height + margin, width: view.frame.width - 2 * margin, height: view.frame.height)

let button1 = UIButton(frame:  CGRectMake(x:margin, y: textView.height + contentView.height + 2 * margin, width: (view.frame.width - 2 * margin) /2, height: 30)

scrollView.contentSize = CGSize(width: view.frame.width, height: button1.frame.origin.y + button1.frame.height + margin)

这应该足以让你入门。重要的是调整scrollView的内容大小以超出视图的框架。要测试这会得到什么,你仍然需要添加为子视图,你也可以设置不同颜色的背景颜色,并根据需要进行调整。