【问题标题】:UIScrollView temporarily gets fractured when presented from UITableView从 UITableView 呈现时,UIScrollView 会暂时断裂
【发布时间】:2016-05-23 09:01:44
【问题描述】:

我有 UITableView 的物品。当您单击一个项目时,UIScrollView 将显示在一个 UIViewController 中,该 UINavigationController's 堆栈正在被推送。当这件事发生时,UIScrollView 的某些部分会显示出来,而其他部分则变得透明,显示初始的UITableView 项目。 UIScrollView设置在.xib,作为最顶层的superview:

我尝试将UIScrollView 放入UIView 中,但它只会导致所有内容消失并且我看到一个空白屏幕,尽管我尝试在代码中设置滚动视图的大小。

所以,我的目标是防止在从 UITableViewUIScrollView 的转换过程中发生这种视图断裂。这似乎与我正在展示UIScrollView这一事实特别相关,因为当我只展示一个普通的UIView时,它从未发生在我身上。有什么建议吗?

【问题讨论】:

  • 在同一个视图中呈现 UIScrollView 吗?
  • 不,它是不同的控制器。实际上,我只是通过将scrollView 的所有subviews 放入一个全新的UIView 中来解决它,我从Object LibraryInterface Builder 中拖到画布上,然后将这个UIView 放入@ 987654343@。重要的一件事是NOTtranslatesAutoresizingMaskIntoConstraints 设置为NO

标签: ios objective-c iphone uitableview uiscrollview


【解决方案1】:

scrollView中的所有subviews放入一个全新的UIView中,该Object LibraryInterface Builder中拖到画布上,然后将这个UIView放入scrollView中。 现在,视图层次结构如下所示:

重要的一点是NOTtranslatesAutoresizingMaskIntoConstraints 设置为NO。需要修复约束:在子视图这样移动之后,许多约束被搞砸了。在这种情况下,关于约束的两个重要事项:删除子视图的约束(以前是 scrollView 的子视图)到滚动视图,并为 UIView 设置新约束;并使scrollView 的宽度与UIView 相等。

【讨论】:

    猜你喜欢
    • 2012-12-08
    • 1970-01-01
    • 2013-02-19
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多