如果您曾努力使自动布局与UIScrollView
良好配合,或者彻底放弃并使用代码来完成,那么您可能会对IKScrollView
感兴趣。它允许您轻松使用滚动视图与自动布局。
使用IKScrollView
非常简单,需要0至1行代码。
将UIScrollView
添加到您的视图控制器,并将其类类型更改为IKScrollView
。
将一个自由浮动的UIView
添加到您的视图控制器中。(例如,不属于视图层次结构的视图)。我们将这个添加在视图控制器层次结构之外,这样就不会与它的自动布局约束发生干扰。
将IKScrollView
的contentView
属性的出口连接到内容视图。
根据您的需要进行任何内容的构建。在这个例子中,我的内容视图是为垂直滚动设计的。(这是IKScrollView
的默认设置)
IKScrollView
允许您使用sizeMatching
属性来更改内容视图的大小。可能的值有:
SizeMatching.Width
: 内容视图将保持其高度,并以IKScrollView
的宽度来调整大小(这是默认设置)SizeMatching.Height
: 内容视图将保持其宽度,并以IKScrollView
的高度来调整大小SizeMatching.Both
:内容视图的大小将匹配 IKScrollView
的宽度和高度。SizeMatching.None
:内容视图不会进行缩放。SizeMatching.Dynamic
:允许您提供用于设置内容的宽度和高度的闭包,例如myScrollView.sizeMatching = .Dynamic(
width: { self.view.bounds.size.width },
height: { calculateScrollHeight() }
)
或通过将 IKScrollView.swift
添加到您的项目中手动进行。
提供了一个包含的应用程序,您可以在其中查看其实际效果。