Jor*_*n H 5 objective-c uitableview uisearchdisplaycontroller ios uirefreshcontrol
我已经实现了一个简单的 Table View Controller,其中一个 Search Display Controller 通过 Interface Builder 拖出。然后我启用了刷新,以便在用户下拉刷新时可以看到刷新控件。
问题是,当它应该位于搜索栏下方时,微调器在搜索栏顶部可见。
我知道原因是最小搜索样式。如果您使用默认的 Prominent 样式,则问题不存在。
当您慢慢下拉时,您会看到第一行出现在搜索栏上方,如下所示:
如果您继续拉动它确实会出现在您期望的位置,但是如果您在视图仍在刷新时将其推回原位,您将在搜索栏顶部看到微调器,如下所示:

只要向上推它使微调器接触第一节标题,微调器立即消失。
这就是它的外观,就像在邮件中一样 - 在搜索栏下方:

我试图通过简单地将微调器放在搜索栏下方来解决这个问题,这样它就不会出现在顶部,但这不起作用。奇怪的是,该代码导致微调器在表格上方的灰色区域中不可见,如果您将其向上推,它会出现在搜索栏上方 - 与我所期望的完全相反。这是代码:
self.refreshControl.layer.zPosition = self.searchDisplayController.searchBar.layer.zPosition - 1;
Run Code Online (Sandbox Code Playgroud)
使用最小样式时,如何防止微调器出现在搜索栏顶部?
这似乎是最小条形样式的一个错误。如果将其设置为“突出”,则不会遇到此问题。如果您使用 Prominent 并尝试删除背景,您也会遇到此问题。我发现的唯一解决方法是尝试模仿最小风格并应用突出风格。
| 归档时间: |
|
| 查看次数: |
1611 次 |
| 最近记录: |