StackView 是一个用于简化在 iOS 中实现视图垂直堆叠的类。您可以将其视为类似简化版的 UITableView。
要使用 StackView,只需将其子视图添加到其中,然后它将自动调整大小并将它们堆叠起来,并可选择在它们之间应用间距值。这可以通过代码或 Interface Builder 做到。
StackView 自动处理视图调整大小(例如屏幕旋转时的情况)。
注意:“支持的”意味着库已与此版本进行测试。“兼容的”意味着库应该在该 OS 版本上运行(即它不依赖于任何不可用的 SDK 功能),但不再测试与兼容性,可能需要调整或修复错误才能正确运行。
StackView 可以自动与或没有 ARC 一起工作。
StackView 从 UIView 派生而来,与所有 UIKit 组件一样,它应仅从主线程访问。
要在应用中使用 StackView 类型,只需将 StackView 类型文件(不需要演示文件和资源)拖放到您的项目中。
StackView 具有以下属性
@property (nonatomic, assign) CGFloat contentSpacing;
这是在 StackView 中的视图之间应用的间距(以点为单位)。您可以通过代码或使用 Interface Builder 中的用户定义运行时属性来设置此值。
@property (nonatomic, assign) CGFloat maxHeight;
当您调用 -sizeToFit 时 StackView 将扩展到的最大高度(以点为单位)。如果内容超出此高度,则 StackView 将滚动。请注意,StackView 是 UIScrollView 的子类,因此它继承了所有 UIScrollView 方法和属性。
StackView 继承了各种有用的属性自 UIScrollView,包括 contentInset
,允许您将 StackView 子视图从边缘内缩。
StackView 将自动对其所有子视图调用 sizeToFit。这意味着标签、按钮等通常会被拉伸到 StackView 的完整宽度,而图片将被设置为它们的自然大小。
如果您不希望出现这种情况,只需在另一个 UIView 中嵌入您的视图,StackView 只会调整外部视图的大小(请参见示例项目中如何处理这个按钮)。
如果您需要在 StackView 项之间有可变的间距,可以插入一个高度为 0 的空白视图,以将两个连续视图之间的 contentSpacing
值加倍,或高度为 N
以创建大小为 contentSpacing * 2 + N
的间隔。
您可以嵌套 StackView,这对于创建层次结构或具有不同 contentSpacing
值的视图组很有用。
如果您在 Interface Builder 中(而不是从基本的 UIView 开始)将 UIScrollView 的类设置为 StackView,则 Interface Builder 允许您配置内容内边距和滚动条外观等属性。
版本 1.0.6
版本 1.0.5
版本 1.0.4
版本 1.0.3
版本 1.0.2
版本 1.0.1
版本 1.0