簡體   English   中英

在表格視圖中滾動時,UIActivityIndi​​cator沒有向上移動

[英]UIActivityIndicator is not moving up when scrolled in tableview

我有一個UITableviewcontroller和一個活動指示器添加到它。 每當我的表格滾動時,指示器也會向上移動並超出范圍。 相反,即使表格滾動,我也要顯示指示器

我檢查了這篇文章: UIActivityIndi​​cator使用tableView滾動,它說我需要使用UIViewcontroller而不是Tableviewcontroller。

由於我在應用程序中添加了許多tableviewcontrollers,因此無法將指標與tableview一起滾動。

我的UIActivityIndi​​cator是整個應用程序的幫助程序類,我可以在其中控制顯示和刪除微調器

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()
        }
    }
}

如果不是擴展名,則說代碼在tableController里面,然后

let indicator = UIActivityIndicator()

然后使用

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

您還可以擴展

class MyTableConWithIndicator:UITableViewController {

   let indicator = UIActivityIndicator()

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

然后在每個tableController中對其進行擴展

class MyTable:MyTableConWithIndicator {} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM