如果出现标签栏,则无法调整搜索结果控制器视图底部内容插图
Posted
技术标签:
【中文标题】如果出现标签栏,则无法调整搜索结果控制器视图底部内容插图【英文标题】:Fail to adjust search results controller view bottom content inset if tab bar is presented 【发布时间】:2014-11-24 11:25:14 【问题描述】:该应用基于 UITabBar。搜索栏嵌入在导航控制器中。虽然 automaticAdjustsScrollViewInsets 属性的值为 YES,但结果控制器的滚动视图的 .bottom contentInset 不尊重标签栏。
带有演示的精简版 UICatalog 示例在这里:SearchResultsIncorrectContentInsetsDemo on GitHub
重现步骤:
-
关注搜索字段并执行一些搜索(例如“o”)
按“搜索”按钮隐藏键盘
尝试将结果向上滚动到底部
表格视图内容的底部隐藏在标签栏下方。
【问题讨论】:
有趣,我有一个稍微不同的问题。使用edgesForExtendedLayout = UIRectEdgeAll
,当键盘隐藏时底部插入是正确的,并且在显示键盘时太大(= 最后一个单元格下方有空白区域)。
【参考方案1】:
您应该关闭情节提要中“嵌入在导航栏中的搜索栏”控制器中的“扩展边缘”->“底部栏下”选项
【讨论】:
感谢您的建议,但这实际上是我宁愿避免的一种修复,因为我不想失去半透明底栏下部分内容可见性的效果。还有其他想法吗?【参考方案2】:我也有同样的问题。
“automaticallyAdjustsScrollViewInsets”的问题是结果控制器不知道它嵌入在 UITabBarViewController 中 - 通过检查搜索结果控制器的“tabBarController”属性是否为 nil,您可以看到这是真的。
为了解决这个问题,我在罪魁祸首视图控制器中手动添加了底部内容插图。
这绝不是一个理想的解决方案,但是,因为我没有看到通知控制器它在 UITabBarViewController 中的方法(羞耻“tabBarController”属性是只读的:)),它必须这样做直到对此事的未来启示。
【讨论】:
以上是关于如果出现标签栏,则无法调整搜索结果控制器视图底部内容插图的主要内容,如果未能解决你的问题,请参考以下文章