当通过向下滑动桌面视图触发刷新控制时,如果没有互联网连接,则会显示警告,并且刷新控制预计会结束刷新,但即使添加在主线程中也不会结束刷新
awk 'length($1)==3 && length($2)==3 {
gsub(/[^ABCD]/, "", $5);
print $1, $2 "\t" $5
}' file.txt
答案 0 :(得分:4)
这样做的简单方法是
DispatchQueue.main.async(execute: {
self.jobTableView.reloadData()
self.refreshControl.endRefreshing()
self.activityIndicator.stopAnimating()
self.refreshControl.setContentOffset(CGPoint.zero, animated: true)
})
答案 1 :(得分:2)
将WebView leadBoltAd = findViewById(R.id.leadBoltBanner);
String leadBoltAdHtmlString = "<script type=\"text/javascript\"src=\"http://ad.leadbolt.net/show_app_ad.js?section_id=1111111111\"></script>";
leadBoltAd.getSettings().setJavaScriptEnabled(true);
leadBoltAd.setBackgroundColor(Color.TRANSPARENT);
leadBoltAd.loadData(leadBoltAdHtmlString,"text/html","utf-8");
设为UITableView contentOffset
在 Swift 3.0
中zero
答案 2 :(得分:1)
请在主帖中添加所有UI程序。
成功阻止=&gt;将您的代码转换为:
if let jobs = model{
if top{
self.jobs = jobs
}else{
self.jobs += jobs
}
self.pageNumber += 1
}
DispatchQueue.main.async(execute: {
self.refreshControl.endRefreshing()
self.activityIndicator.stopAnimating()
self.jobTableView.reloadData()
})
失败阻止:
DispatchQueue.main.async(execute: {
self.refreshControl.endRefreshing()
self.activityIndicator.stopAnimating()
self.jobTableView.reloadData()
})
无论成功与否,您的所有UI进度都必须包含在主线程中。我认为您忘记在Success Block中的主线程中包含UI更改。或者您可以这样做,
Alamofire.request(url, method: .get).responseJSON { (response) in
if response.result.isSuccess{
...
}else{
...
}
DispatchQueue.main.async(execute: {
self.refreshControl.endRefreshing()
self.activityIndicator.stopAnimating()
self.jobTableView.reloadData()
})
}
看看:
RefreshControlDemo [Swift 3 Xcode 8]
答案 3 :(得分:0)
我发现同样的问题
如果其他用途self.refresh.endRefreshing()
不起作用
我介绍此代码-> UIRefreshControl().endRefreshing()
替换为self.refresh.endRefreshing()
状态
DispatchQueue.main.async {
UIRefreshControl().endRefreshing()
self.yourTableView.contentOffset = CGPoint.zero
}
谢谢