【问题标题】:How to set UIScrollView Height in Swift如何在 Swift 中设置 UIScrollView 高度
【发布时间】:2017-12-30 19:55:21
【问题描述】:

我正在使用 swift 构建应用程序。我想使用情节提要向我的视图控制器添加一些内容。

我已经把所有东西都放在了滚动视图中并设置了特定的高度,但是当我运行应用程序时,滚动视图总是设置得比视图底部的按钮长

我希望滚动视图在按钮之后立即停止

请帮我解决这个问题

谢谢

滚动后

​​>

为了您的信息,请忽略 'critics' 和提交按钮之间的空白,因为实际上它们之间有 UITextView 但不可见(仍然尝试添加一些边框)

这些是我的故事板预览

【问题讨论】:

  • scrollView 高度根据内容?
  • Swift 2 还是 Swift 3? Xcode 版本?
  • autolayout 出现以来,滚动视图有点难以处理,因此存在一些陷阱(它们不像更多那样“开箱即用”具体的子类,例如表视图或集合视图)。幸运的是,网络上也有很多教程和博客文章。搜索“UIScrollView 自动布局”。
  • @iDeveloper : Swift 3.0
  • @iOSGeek 是的,根据内容(我使用情节提要设置内容)

标签: ios swift xcode uiview uiscrollview


【解决方案1】:

1) ScrollView 约束

2) ScrollView -> contentView 滚动视图的约束与上图相同

3) 现在 ContentView 的宽度和高度约束到主视图[嵌入了 ScrollView 的 SuperView] 和约束如下。

4) 现在单击 EqualWidth 以查看 [从顶部开始的第三个约束] 并按照步骤 6 进行编辑

5) contentView 宽度约束

6) ContentView 高度约束 // 设置优先级 [必须] .在这里,您需要将菜单中的第一项和第二项更改为如图所示 First as - ContentView.Height 和第二个 as - View.height 并将优先级设置为 250 在此之后,情节提要中将出现一条虚线沿 contentView

7) 现在在 contentView 中添加 [UIView, labels, textfields] 之类的内容,并将约束作为 Top upperMost 视图顶部空间添加到 contentView [就像我一样]DoubleRight imageView

我的 DoubleRight imageView 的约束是

在给定顶部空间 20 点的情况下查找顶部空间边距

同样你需要为你将添加到 ContentView 中的最后一个项目做同样的事情,就像我有 uiView 一样

将各自视图的底部空间添加到您的 superView[ContentView] 中,我的约束是:

在您初始化所有这些步骤后,每个屏幕尺寸的结果都将与预期一样,无需额外更改屏幕尺寸的高度

注意:-[所有视图必须通过 top 和 bottom 参数相互连接]

像 Flow 一样

View1 - top to contentView and bottom to View2
View2 - top to View1 and bottom to view3
View3 [Last view] - top to View2 and bottom to contentView as shown 

使用uiView,uiimageViews的高度必须是固定的

【讨论】:

  • 如果仍然遇到任何问题,请随时询问
  • 我能问你点什么吗?使用聊天或其他方式?
  • 非常感谢,请问可以给我你的联系方式吗?
  • 检查我修改后的答案如果您仍然遇到可以提出的问题,我已经解释了所有细节。
【解决方案2】:

可能会有帮助

your_scrollView.frame = CGRect(x: 0, y: 0, width: 375, height: 667)
your_scrollView.contentSize = CGSize(width: 375, height: 1000) // You can set height, whatever you want.

【讨论】:

    【解决方案3】:

    你可以试试:

       your_scrollView.frame = CGRect(x: 0, y: 0, width: 375, height: 667)
       your_scrollView.contentSize = CGSize(width: 375, height: self.view.frame.size.hight)
    

    【讨论】:

      猜你喜欢
      • 2018-08-18
      • 2017-04-18
      • 1970-01-01
      • 2015-06-12
      • 2017-12-17
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 2017-01-30
      相关资源
      最近更新 更多