如何用Swift在uitableViewCell中启动ActivityIndi​​cator的动画?

How to start animation of UIActivityIndicatorin in tableViewCell with Swift?

希望你一切都好。

我正在尝试在我的表格视图的特定单元格上激活 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

这对我不起作用:

预先感谢您的帮助。

前段时间我制作了一个在单元格内显示 activity 指示器的应用程序。我通过在数据源的 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;
}

而且它运行良好。

非常感谢,