使 UIRefreshControl 短于滑动

Posted

技术标签:

【中文标题】使 UIRefreshControl 短于滑动【英文标题】:Make the UIRefreshControl short for swiping 【发布时间】:2021-04-16 22:46:10 【问题描述】:

当在TableView 中使用标准UIRefreshControl 时,向下滑动可能会太长,也就是说,我必须将手指几乎拖到屏幕的最底部。

是否可以缩短滑动路径?

var refreshControl = UIRefreshControl()

 @objc func refresh(_ sender: AnyObject) 
    // Refresh anything
 

 override func viewDidLoad() 
    super.viewDidLoad()
    
    refreshControl.addTarget(self, action: #selector(self.refresh(_:)), for: .valueChanged)
    refreshControl.backgroundColor = UIColor.clear
    TableView.addSubview(refreshControl) 
    
    refresh(view)
 

提前感谢您的帮助。

【问题讨论】:

【参考方案1】:

试试看。

    refreshControl.addTarget(self, action: #selector(refreshHande(_:)), for: .valueChanged)
    let ori = tableView.frame
    let temp_frame = CGRect.init(x: ori.origin.x, y: ori.origin.y, width:
    ori.size.width, height: ori.size.height/1.3 )
    tableView.frame = temp_frame
    tableView.addSubview(refreshControl)
    tableView.frame = ori

【讨论】:

【参考方案2】:

TableView 具有属性 refreshControl。使用以下代码

var refreshControl = UIRefreshControl()

 @objc func refresh(_ sender: AnyObject) 
    // Refresh anything
 

 override func viewDidLoad() 
    super.viewDidLoad()
    
    refreshControl.addTarget(self, action: #selector(self.refresh(_:)), for: .valueChanged)
    refreshControl.backgroundColor = UIColor.clear

    // tableView is a UITableView outlet 
    tableView.refreshControl = refreshControl
    
 

【讨论】:

以上是关于使 UIRefreshControl 短于滑动的主要内容,如果未能解决你的问题,请参考以下文章

swift 3 - UIRefreshControl 在大屏幕上不起作用

我可以在初始加载视图时旋转 tableview UIRefreshControl(活动指示器),而无需用户向下滑动吗?

如何使 UIRefreshControl 更小?

如何自定义 UIRefreshControl 以使下拉高度低于默认值

从 Firebase 完成加载后如何使 UIRefreshControl 结束刷新

使 UIActivityIndi​​cator 与 UIRefreshControl 中的 on 大小相同