Swift5中如何添加ScrollView?
How to add Scroll View in Swift 5?
我想在我的项目中添加滚动视图,但是在 swift 5 我无法添加它我尝试了很多方法
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var imageViewBottomConstraint: NSLayoutConstraint!
@IBOutlet weak var imageViewLeadingConstraint: NSLayoutConstraint!
@IBOutlet weak var imageViewTopConstraint: NSLayoutConstraint!
@IBOutlet weak var imageViewTrailingConstraint: NSLayoutConstraint!
如果您首先使用界面构建器,请添加滚动视图并将滚动视图约束(顶部、底部、前导和尾随)设置为 (0,0,0,0)。视图层次结构必须像这样 view -> scroll view -> view(content view)
。再次为您的内容视图添加约束。内容视图必须与父视图(滚动视图)具有相同的宽度和高度。在 Document Outline
中控制从内容视图到滚动视图的拖动
当我在属性中禁用内容布局指南时它 100% 有效
1.Add 故事板中的 scrollView(1),将需要的约束添加到 top/bottom/trailing/leading。
2.Then 在您的 scrollView 的大小检查器部分取消选中 "Content Layout Guides"。
3.Then 你需要在你的 scrollView 中放入新的 UIView(2),它的约束条件是 top/bottom/trailing/leading 到 superView(1) 并且宽度等于 superView(1)。
4.Then 您的视图 (2) 的高度,您可以将其添加为约束,或者您可以添加内容,这将为您的视图 (2) 提供高度。
高度设置示例
包含内容的示例,它为您的视图提供了高度(2)
您不需要取消选中内容布局指南(它可以帮助我们)。设置它实际上并不难。以下是使用 Xcode 11+ 并支持 iOS 11+
的方法
1 - 添加 ScrollView 并将与其父视图相关的顶部、底部、前导和尾随约束设置为 0
2 - 添加内容视图(任何 UIView),将连接拖到内容布局指南并将前导、顶部、尾随和底部约束设置为 0(确保将其设置为 0)
3 - 从您的内容视图拖动到框架布局指南并将其设置为等宽
4 - 向内容视图添加高度约束常量
您可以完全跳过约束。
- 将 ScrollView 添加到故事板。
- 在您的 ViewController 中创建一个 IBOutlet。
- 设置滚动视图的高度:
scrollView.contentSize = (CGSize(width: desiredWidth, height: desiredHeight)
所需的宽度可以是数字或另一个视图的宽度。您可以通过为其创建 IBOutlet 以主视图的宽度为例:scrollView.contentSize = (CGSize(width: mainView.frame.size.width, height: desiredHeight)
所需的高度是滚动时完整显示内容所需的任何值。
我发现这种方式更容易理解和控制。
我想在我的项目中添加滚动视图,但是在 swift 5 我无法添加它我尝试了很多方法
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var imageViewBottomConstraint: NSLayoutConstraint!
@IBOutlet weak var imageViewLeadingConstraint: NSLayoutConstraint!
@IBOutlet weak var imageViewTopConstraint: NSLayoutConstraint!
@IBOutlet weak var imageViewTrailingConstraint: NSLayoutConstraint!
如果您首先使用界面构建器,请添加滚动视图并将滚动视图约束(顶部、底部、前导和尾随)设置为 (0,0,0,0)。视图层次结构必须像这样 view -> scroll view -> view(content view)
。再次为您的内容视图添加约束。内容视图必须与父视图(滚动视图)具有相同的宽度和高度。在 Document Outline
当我在属性中禁用内容布局指南时它 100% 有效
1.Add 故事板中的 scrollView(1),将需要的约束添加到 top/bottom/trailing/leading。
2.Then 在您的 scrollView 的大小检查器部分取消选中 "Content Layout Guides"。
3.Then 你需要在你的 scrollView 中放入新的 UIView(2),它的约束条件是 top/bottom/trailing/leading 到 superView(1) 并且宽度等于 superView(1)。
4.Then 您的视图 (2) 的高度,您可以将其添加为约束,或者您可以添加内容,这将为您的视图 (2) 提供高度。
高度设置示例
包含内容的示例,它为您的视图提供了高度(2)
您不需要取消选中内容布局指南(它可以帮助我们)。设置它实际上并不难。以下是使用 Xcode 11+ 并支持 iOS 11+
的方法1 - 添加 ScrollView 并将与其父视图相关的顶部、底部、前导和尾随约束设置为 0
2 - 添加内容视图(任何 UIView),将连接拖到内容布局指南并将前导、顶部、尾随和底部约束设置为 0(确保将其设置为 0)
3 - 从您的内容视图拖动到框架布局指南并将其设置为等宽
4 - 向内容视图添加高度约束常量
您可以完全跳过约束。
- 将 ScrollView 添加到故事板。
- 在您的 ViewController 中创建一个 IBOutlet。
- 设置滚动视图的高度:
scrollView.contentSize = (CGSize(width: desiredWidth, height: desiredHeight)
所需的宽度可以是数字或另一个视图的宽度。您可以通过为其创建 IBOutlet 以主视图的宽度为例:scrollView.contentSize = (CGSize(width: mainView.frame.size.width, height: desiredHeight)
所需的高度是滚动时完整显示内容所需的任何值。
我发现这种方式更容易理解和控制。