【问题标题】:Is it possible to have a scroll view that does not cover the entire screen?是否可以有一个不覆盖整个屏幕的滚动视图?
【发布时间】:2018-09-11 14:55:39
【问题描述】:

我想知道是否可以创建一个不覆盖整个 iOS 屏幕的 ScrollView。我创建了一种我想象的视觉渲染。

【问题讨论】:

  • scrollView 带到您希望它拥有的确切位置并相应地设置高度和宽度。
  • 是的,这是可能的,只需使用 UIScrollView。您是否使用界面生成器进行布局?
  • 有可能。您必须定义滚动位置和大小,设置其约束并设置其 contentSize 以使其滚动
  • 哦,谢谢你的快速!好的,这是个好消息!我想我忘记设置内容大小了!顺便说一句,如果我想以编程方式构建它,那么答案是否相同(因为我尝试过这样啊)

标签: ios swift uiscrollview uikit scrollview


【解决方案1】:

是的,这是可能的。为滚动内容视图超级视图使用 UIScrollView 类,并手动或使用自动布局将其布局在视图控制器的根视图上。文档中描述了这两种方法的细节 - 像布置任何其他视图一样布置您的滚动视图。

【讨论】:

  • 谢谢!我可以直接将它添加到我的主视图的“视图”中吗?喜欢:self.view.addSubview(myScrollViewl) ?
  • 是的,这应该可以正常工作,但是如果您在界面构建器中执行此操作,则无需这样做
【解决方案2】:

是的。您可以通过在视图控制器的根视图中添加一个单独的视图来放置滚动视图并设置约束。 (顶部,底部,前导和尾随)。并将 UIScrollview 添加到该视图并将滚动视图约束(顶部,底部,前导和尾随)设置为(0,0,0,0)。之后从对象库中拖动另一个视图来滚动视图。设置视图约束(顶部,底部,前导和尾随)为(0,0,0,0)。最后最重要的部分是新添加的内容视图必须与父视图具有相等的宽度和高度。然后选择内容的高度约束查看并设置优先级低(250)。所以如果你想在根视图中添加一个按钮,你可以将它添加到滚动视图的超级视图之外。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多