添加 UISearchBar 后 UIRefreshControl 的行为有所不同

Posted

技术标签:

【中文标题】添加 UISearchBar 后 UIRefreshControl 的行为有所不同【英文标题】:UIRefreshControl behaves differently after adding UISearchBar 【发布时间】:2014-05-13 15:32:38 【问题描述】:

我在 ios 7 中使用 UITableViewController 子类。

在我将搜索栏添加为表格视图的 tableHearerView 之前,UIRefreshControl 按预期工作:我在 viewDidLoad 中触发了 beginRefreshing,每次进入此屏幕时我都可以看到它在旋转。

添加搜索栏后,当我进入此屏幕时,我看不到 UIRefreshControl 旋转。其他一切似乎都可以正常工作,例如下拉将显示旋转的 UIRefreshControl。

我是否以正确的方式使用了这 2 个小部件?如何解决此问题,以便我可以像添加搜索栏之前看到的那样看到旋转?

提前非常感谢!

【问题讨论】:

【参考方案1】:

看来如果手动调用beginRefreshing方法还需要手动设置tableView的偏移量。

这是 Objective-C 中的解决方案:

[self.tableView setContentOffset:CGPointMake(0, -self.refreshControl.frame.size.height) animated:YES];

这里是 Swift 中的解决方案:

self.tableView.setContentOffset(CGPointMake(0, -self.refreshControl!.frame.size.height), animated:true)

【讨论】:

以上是关于添加 UISearchBar 后 UIRefreshControl 的行为有所不同的主要内容,如果未能解决你的问题,请参考以下文章

禁用添加到 UITableView 的 UISearchbar 的滚动

如何在 UINavigationBar 上添加 UISearchBar 动画

UISearchBar在Swift中完成后如何停止UIActivityIndi​​cator

UISearchBar 没有更新

帮助 UISearchBar 方法

UISearchBar 不在 TableViewController 的表视图标题中?