添加 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 动画