【问题标题】:Scrollview Autolayout with Tabbar and Navigationbar带有标签栏和导航栏的滚动视图自动布局
【发布时间】:2016-06-30 02:16:54
【问题描述】:

我需要在包含导航栏和标签栏的视图控制器中的 uiscrollview 中设置约束。我在滚动视图中放置了一个与滚动视图高度相同的 uiview(contentView)。这些是我目前设置的东西,

  1. 为滚动视图设置 4 个约束(上、下、左、右) 未选中边距的约束,所有边均为 0。
  2. 为里面的uiview(contentView)设置4个约束 scrollview(top,bottom,left,right) 对边距有限制 未选中,所有边均为 0。
  3. 设置等宽等高 对于滚动视图和 UIView(contentView)

输出显示如下 uiview(contentView) 被放置在 64 px(大约)下方。这个视图不应该这样放置。谁能帮我解决这个问题。

这是我工作过的项目演示,can be downloaded here

【问题讨论】:

  • 你应该阅读developer.apple.com/library/ios/documentation/WindowsViews/… 特别是向标签栏界面添加导航控制器 使用标签栏控制器的应用程序也可以在一个或一个中使用导航控制器更多标签。在同一用户界面中组合这两种类型的视图控制器时,标签栏控制器始终充当导航控制器的包装器。

标签: ios uiscrollview autolayout uinavigationbar tabbar


【解决方案1】:

选择场景并在属性检查器中,取消选中:“Under Top Bars”和“Under Bottom Bars”。

然后在情节提要中让滚动视图从 View Controller 的最顶部开始,导航栏开始的地方,然后是 UIView,导航栏结束的地方。

稍后,选择滚动视图并设置默认约束。

我想这不是最干净的方法,但我遇到了同样的问题并且为我工作。

【讨论】:

  • 会尝试让您知道。感谢您的信息:)
  • 怎么样?你能解决这个问题吗?
  • 没有解决问题,我已经上传了项目,请看一下
  • 我在您的项目上工作,滚动视图不是从 VC 的顶部开始,而是从导航栏的末尾开始。只有较小的视图应该从那里开始。此外,您甚至没有该 VC 的类,您必须添加它并从视图中设置确实加载了您想要的滚动视图高度。老实说,我建议您从头开始学习新教程,因为您的项目中缺少一些东西并且会更快。保重 ;)
  • 实际上我创建它是为了显示 wat 是这里的问题。这是一个演示项目,还有一件事我将滚动视图保留在 VC 的顶部,但存在同样的问题。你可以试试
【解决方案2】:

你可以试试self.automaticallyAdjustsScrollViewInsets = false

【讨论】:

  • self.edgesForExtendedLayout = .None 不起作用,我已将 scrollview 固定到 viewcontroller 视图的顶部
  • 你可以试试self.automaticallyAdjustsScrollViewInsets = false
  • self.automaticallyAdjustsScrollViewInsets = false ,它不工作
  • 你应该更多地展示你的项目的整体结构。您是否不同意我的前提,即滚动视图正在调整内容插图以匹配导航栏的高度?
  • 是的,最初我记录了滚动视图的偏移量,它的偏移量 y 是 -64 px。(即)它的打印为 (0,-64) 不知道为什么
【解决方案3】:

标签栏必须设置在滚动视图下的树中,如下所示:

【讨论】:

    【解决方案4】:

    试试这个

    override func viewDidLoad() {
        self.edgesForExtendedLayout = UIRectEdge()
        self.extendedLayoutIncludesOpaqueBars = false
    

    }

    【讨论】:

      【解决方案5】:

      我已经找到了解决方案,父 ViewController 类设置在顶部栏下并禁用它,并在父级中相应地更改了框架,并将相同的属性和框架设置为子 viewcontroller 解决了这个问题。

      【讨论】:

        猜你喜欢
        • 2016-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多