首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在表格视图中滚动时,UIActivityIndicator不会向上移动

在表格视图中滚动时,UIActivityIndicator不会向上移动
EN

Stack Overflow用户
提问于 2019-06-26 04:12:24
回答 1查看 45关注 0票数 0

我添加了一个UITableviewcontroller和一个活动指示器。每当我的表格滚动时,指示器也会向上移动并超出边界。相反,我希望显示指示器,即使表格滚动

我查看了这篇文章:UIActivityIndicator scrolls with tableView,它告诉我需要使用UIViewcontroller而不是Tableviewcontroller。

由于我在应用程序中添加了许多tableview控制器,是否可以将指示器与tableview一起滚动。

我的UIActivityIndicator是跨整个应用程序的帮助器类,我控制显示和删除微调器

代码语言:javascript
复制
extension UIViewController {
    class func displaySpinner(onView : UIView) -> UIView {
        let spinnerView = UIView.init(frame: onView.frame)
        spinnerView.backgroundColor = UIColor.init(red: 0.5, green: 0.5, blue: 0.5, alpha: 0.5)
        let ai = UIActivityIndicatorView.init(activityIndicatorStyle: .whiteLarge)
        ai.startAnimating()
        ai.center = spinnerView.center

        DispatchQueue.main.async {
            spinnerView.addSubview(ai)
            onView.addSubview(spinnerView)
        }

        return spinnerView
    }

    class func removeSpinner(spinner :UIView) {
        DispatchQueue.main.async {
            spinner.removeFromSuperview()
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-06-26 04:17:53

如果它不是一个扩展,你可以这样做,比如代码在tableController中,并且

代码语言:javascript
复制
let indicator = UIActivityIndicator()

然后使用

代码语言:javascript
复制
func scrollViewDidScroll(_ scrollView: UIScrollView) {
  // change frame of indicator by scrollview.contentOffset.y
}

您还可以扩展

代码语言:javascript
复制
class MyTableConWithIndicator:UITableViewController {

   let indicator = UIActivityIndicator()

   func scrollViewDidScroll(_ scrollView: UIScrollView) {
     // change y'frame of indicator by scrollview.contentOffset.y
   }
   func addIndicator() {}
   func removeIndicator() ()
}

然后在每个tableController中从它扩展

代码语言:javascript
复制
class MyTable:MyTableConWithIndicator {} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56761345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档