1

所以,我正在使用 swift 库ImageSlideshow并使用 KingfisherSource 来设置图像。我从 Alamofire 请求中获取 url 图片

如何在图像显示之前制作加载/活动指示器?

这是我的代码:

var arrayImage = [InputSource]()

for data in items{                  
      let Menu = ModelBanner()                  
      Menu.id = (data["id"].intValue)
      Menu.banner = (data["banner"].stringValue)
      self.listBanner.append(Menu)
      self.arrayImage.append(KingfisherSource(urlString: data["banner"].stringValue)!)                       
    }
      self.slideImage.contentScaleMode = .scaleAspectFill
      self.slideImage.setImageInputs(self.arrayImage)
4

2 回答 2

1
  1. 您可以在 UIImageView 上从情节提要中添加活动指示器。
  2. 将活动指示器的插座连接到您的 ViewController 文件
  3. 在 viewDidLoad() 中,activityIndicator.hidesWhenStopped = true
  4. 在您的 Alamofire 请求中,使用activityIndicator.startAnimating()
  5. 一旦你从 Alamofire 收到回调,在完成处理程序中,使用activityIndicator.stopAnimating()

上面的代码假设activityIndicator是出口连接名称UIActivityIndicatorView

于 2017-04-27T03:50:49.583 回答
0

显示活动指示器的更好方法是使用默认实现。

slideshow.activityIndicator = DefaultActivityIndicator()

您可以自定义指标的样式和颜色:

slideshow.activityIndicator = DefaultActivityIndicator(style: .white, color: nil)

还有一个选项可以使用您自己的活动指示器。你只需要实现ActivityIndicatorViewActivityIndicatorFactory协议。

有关更多详细信息,请参阅此处的活动指标部分。

于 2017-09-30T17:33:52.837 回答