2016-04-19 15 views
2

あなたはうまくいけばいいですか?SwiftでtableViewCellでUIActivityIndi​​catorinのアニメーションを開始する方法は?

私のテーブルビューの特定のセルでUIActivityIndi​​catorをアクティブにしようとしています。ラベル、画像、ボタンを隠し、代わりに他の要素を表示したいこれらの要素の一つが表示されますが、アニメーション化されません:(UIActivityIndi​​catorある

ここで使用されるコード

:ここ

func showProgressViewInCell(path: NSIndexPath) { 
    let cell = self.toursUITableView.cellForRowAtIndexPath(path) as! ToursTableViewCell; 

    // stop userInteraction 
    cell.userInteractionEnabled = false; 

    // hide elements 
    cell.downloadTourButton.hidden = true; 
    cell.descriptionLabel.hidden = true; 
    cell.typeOfTourLabel.hidden = true; 
    cell.typeOfTourImage.hidden = true; 
    cell.distanceOfTourLabel.hidden = true; 
    cell.distanceOfTourImage.hidden = true; 
    cell.durationOfTourLabel.hidden = true; 
    cell.durationOftourImage.hidden = true; 
    // show progressbar, percent, activityIndicator and updateLabel 
    cell.percentLabel.hidden = false; 
    cell.downloadTourProgressView.hidden = false; 
    cell.updateLabelProgressBar.hidden = false; 
    // downloadInProgressActivityIndicator uses option hides when stopped 
    cell.downloadInProgressActivityIndicator.hidden = false; 
    cell.downloadInProgressActivityIndicator.startAnimating(); 

    // reload data of tableview 
    self.toursUITableView.beginUpdates(); 
    self.toursUITableView.reloadData(); 
    self.toursUITableView.endUpdates(); 
} 

私UIActivityIndi​​catorのInterfaceBuilderの設定:

configuration of UIActivityIndicatorView on Interface Builder

これは私のために働いていませんでした:https://stackoverflow.com/a/29494991/6188918

事前に助けてください。

答えて

1

これまで、セル内にアクティビティインジケータを表示するアプリを作っていました。私はデータソースのcellForRowAtIndexPathメソッドの内側にstartAnimating()を呼び出すことによってそれをしました。これを試して。

func showProgressViewInCell(path: NSIndexPath) {...} 

私はそのようなcellForRowAtIndexpath方法で私のUIActivityIndi​​catorをアニメーション化する必要がありました:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    // custom cell 
    let cell = tableView.dequeueReusableCellWithIdentifier(self.defaultCellIdentifier, forIndexPath: indexPath) as! ToursTableViewCell; 

    //start animating ProgressActivityIndicator 
    cell.downloadInProgressActivityIndicator.startAnimating(); 

    self.configureCell(cell, indexPath:indexPath); 

    return cell; 
} 

と、それはだと好き

0

はアレクサンダーDoloz、実際には

は前に私の関数を呼び出すありがとううまく働いている。

ありがとう、

関連する問題