我添加了一个UITableviewcontroller和一个活动指示器。每当我的表格滚动时,指示器也会向上移动并超出边界。相反,我希望显示指示器,即使表格滚动
我查看了这篇文章:UIActivityIndicator scrolls with tableView,它告诉我需要使用UIViewcontroller而不是Tableviewcontroller。
由于我在应用程序中添加了许多tableview控制器,是否可以将指示器与tableview一起滚动。
我的UIActivityIndicator是跨整个应用程序的帮助器类,我控制显示和删除微调器
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()
}
}
}发布于 2019-06-26 04:17:53
如果它不是一个扩展,你可以这样做,比如代码在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 {} https://stackoverflow.com/questions/56761345
复制相似问题