如何更改 UIScrollView 的位置和大小?
Posted
技术标签:
【中文标题】如何更改 UIScrollView 的位置和大小?【英文标题】:How to change the position and size of a UIScrollView? 【发布时间】:2015-06-25 18:14:02 【问题描述】:我对 AutoLayout 感到沮丧,所以我决定禁用它,并以编程方式设置视图中元素的位置和大小。我试过这个:
func setScrollViewBounds()
var windowFrame = self.view.frame;
var scrollerHeigth = (windowFrame.height/100)*15
BottomScroll.frame = CGRect(x: CGFloat(10), y: windowFrame.height-scrollerHeigth, width: windowFrame.width-20, height: scrollerHeigth);
TopScroll.frame = CGRect(x: CGFloat(10), y: BottomScroll.frame.maxY-10, width: windowFrame.width-20, height: scrollerHeigth)
我正在尝试将两个滚动视图(TopScroll
和 BottomScroll
)设置在页面底部,并让一个在另一个之上。然而,这似乎并没有做任何事情。任何想法为什么?
我正在调用ViewDidLoad()
中的函数。
TopScroll
和 BottomScroll
是 IBOutlets。
【问题讨论】:
【参考方案1】:按顺序应用约束
将您的子视图放在 UIView 对象中(哪个将成为 ScrollView 的子视图)。
同时选择 ScrollView 和 UIView
Go->Pin->等宽。(不等高)
选择 UIScrollView Go-> Pin 取消选中 Constraint to Margin 并给出 Top,Bottom,Left,Right 约束。
现在选择 UIView(UIScrollview 的子视图说 contentView) 控件单击 contentView 到主视图(默认控制器的视图)并选择前导、尾随、顶部、底部约束。
最后选择 contentView Go-> 解决 Auto-layOut 问题 -> 重置为建议的约束。
ContentView 子视图的约束与 contentView 一样。使用 viewDidLayoutSubview 将 content-size 设置为 UIScrollView。
【讨论】:
以上是关于如何更改 UIScrollView 的位置和大小?的主要内容,如果未能解决你的问题,请参考以下文章