Dan*_*hez 13 uiwebview uitableview ios uirefreshcontrol
嘿StackOverflow人,
我一直试图找出这个问题已经有一段时间了,但无济于事,我需要一些帮助.我有一个UITableView
接近我的应用程序的底部,并没有足够的屏幕距离供用户参与刷新.有没有人知道如何缩短激活拉动刷新动作所需的距离(通过UIRefreshControl
iOS 6/7中的a)UITableView
和UIWebView
?
在此先感谢大家!
Ash*_*rat 32
您仍然可以使用refreshControl,但需要进行一些修改!
将这些代码添加到viewController:
var canRefresh = true
override func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.contentOffset.y < -100 { //change 100 to whatever you want
if canRefresh && !self.refreshControl.refreshing {
self.canRefresh = false
self.refreshControl.beginRefreshing()
self.refresh() // your viewController refresh function
}
}else if scrollView.contentOffset.y >= 0 {
self.canRefresh = true
}
}
Run Code Online (Sandbox Code Playgroud)
和往常一样,在self.refresh()函数的刷新逻辑结束时添加:
self.refreshControl.endRefreshing()
Run Code Online (Sandbox Code Playgroud)
sta*_*Man 11
根据Apple Docs,我没有看到任何修改UIRefreshControl
参数的方法.
链接:https://developer.apple.com/library/ios/documentation/uikit/reference/UIRefreshControl_class/Reference/Reference.html
使用第三方组件像ODRefreshControl(自定义,以激活刷新,修改滚动距离的常数). #define kMaxDistance
不要UIRefreshControl
在-scrollViewDidScroll
方法中使用和改为实现自己的逻辑,如:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height) {
//refresh logic
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9400 次 |
最近记录: |