iOS:为啥我的子视图在滚动视图中出现大间距

Posted

技术标签:

【中文标题】iOS:为啥我的子视图在滚动视图中出现大间距【英文标题】:iOS: Why is my subview appearing with a big spacing inside scrollviewiOS:为什么我的子视图在滚动视图中出现大间距 【发布时间】:2014-01-30 23:32:10 【问题描述】:

我的视图控制器中有一个滚动视图和几个子视图(文本字段和标签)。尽管我添加了约束,但这些子视图分组显示在屏幕中间。

如何使它们以标准间距显示在导航栏上?

【问题讨论】:

您是否尝试将这些子视图放置在与滚动视图内容大小相同的子视图中?我也遇到过类似的问题,而且总能解决问题。 【参考方案1】:

半透明导航栏可能有问题。

打开导航栏半透明并查看视图是否正确定位。如果是,则必须在 IB 中调整间距。

【讨论】:

【参考方案2】:

在滚动视图中,自动布局的工作方式与其他任何地方都不一样——这是一个全新的球赛(如苹果文档中所述)。

如果您在 UIScrollView 中放置一个 UIView,并确保该视图的大小与滚动视图的内容相同,则可以在这个新视图中使用自动布局来放置您喜欢的所有文本字段/标签。

有关更多信息,请参阅苹果的 docs 关于滚动视图和自动布局。

【讨论】:

【参考方案3】:

设置

self.automaticallyAdjustsScrollViewInsets = NO;

或者,或者在情节提要中对应,确实为 ios7 修复了它。不知道这是否适用于 iOS 6

【讨论】:

以上是关于iOS:为啥我的子视图在滚动视图中出现大间距的主要内容,如果未能解决你的问题,请参考以下文章

滚动视图仅显示最后添加的子视图

更改 NSMutableAttributedString 直到滚动到顶部时,文本视图中的子视图按钮消失

滚动到视图时菜单的屏幕外文本出现延迟 - WebView 问题? (iOS)

iOS 控制中心触摸传递到我的滚动视图?

具有单元格间距的 UICollectionView 存在滚动问题

为啥我的 UITableView 滚动偏移在返回其视图时最终落在 UISearchController 后面?