1
基本的なテーブルビューセルに異なるイメージをロードしていますが、イメージがロードされている間にセルにアクティビティインジケータを表示したいとします。私はサンプルコードのような別のセルファイルを使用しています。私はどこにコードを置くべきか正確には分からない。私はビューにコードを入れるいくつかの方法を見つけましたが、特にセルにはありません。誰でもアイデアはありますか?ありがとう。あなたは以下のように行うことができアクティビティインジケータをテーブルビューセルに表示
func configureCell(favorite: Article) {
self.favorite = favorite
downloadImage(NSURL(string: self.favorite.mainImage)!)
func downloadImage(url: NSURL, type: String) {
getDataFromUrl(url) { (data, response, error) in
//show activity indicator
dispatch_async(dispatch_get_main_queue()) {() -> Void in
guard let data = data where error == nil else { return }
self.mainImage.image = UIImage(data: data)
}
}
}
func getDataFromUrl(url: NSURL, completion: ((data: NSData?, response: NSURLResponse?, error: NSError?) -> Void)) {
NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) in
completion(data: data, response: response, error: error)
}.resume()
}
すぐにお返事ありがとうございます!それはちょうど真ん中に位置していません。右下に表示されていますが、表示されています。また、getDataFromUrl関数の上にself.mainImage.addSubview(activityIndicator)とactivityIndicator.startAnimating()を移動する必要がありました。 – user3712837
私はそれを正しく中央に置くことができないのですか?私はこれを試しましたが、それはかなり正しいです:activityIndicator.frame = CGRect(x:0、y:0、width:self.mainImage.bounds.width/2、height:self.mainImage.bounds.height/2) – user3712837
あなたのx、yの位置が正しくない、あなたはスーパービューに関してそれを中心にする必要があります – Santosh