如何用Swift在uitableViewCell中启动ActivityIndicator的动画?
How to start animation of UIActivityIndicatorin in tableViewCell with Swift?
希望你一切都好。
我正在尝试在我的表格视图的特定单元格上激活 UIActivityIndicator。我想隐藏标签、图像、按钮并显示其他元素而不是。这些元素之一是 UIActivityIndicator,它出现但没有动画 :(
此处使用的代码:
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();
}
这里是我的 UIActivityIndicator 的 InterfaceBuilder 上的配置:
configuration of UIActivityIndicatorView on Interface Builder
这对我不起作用:
预先感谢您的帮助。
前段时间我制作了一个在单元格内显示 activity 指示器的应用程序。我通过在数据源的 cellForRowAtIndexPath
方法中调用 startAnimating()
来做到这一点。试试这个。
谢谢亚历山大·多洛兹,
实际上在调用我的函数之前:
func showProgressViewInCell(path: NSIndexPath) {...}
我不得不在 cellForRowAtIndexpath 方法上为我的 UIActivityIndicator 设置动画:
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;
}
而且它运行良好。
非常感谢,
希望你一切都好。
我正在尝试在我的表格视图的特定单元格上激活 UIActivityIndicator。我想隐藏标签、图像、按钮并显示其他元素而不是。这些元素之一是 UIActivityIndicator,它出现但没有动画 :(
此处使用的代码:
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();
}
这里是我的 UIActivityIndicator 的 InterfaceBuilder 上的配置:
configuration of UIActivityIndicatorView on Interface Builder
这对我不起作用:
预先感谢您的帮助。
前段时间我制作了一个在单元格内显示 activity 指示器的应用程序。我通过在数据源的 cellForRowAtIndexPath
方法中调用 startAnimating()
来做到这一点。试试这个。
谢谢亚历山大·多洛兹,
实际上在调用我的函数之前:
func showProgressViewInCell(path: NSIndexPath) {...}
我不得不在 cellForRowAtIndexpath 方法上为我的 UIActivityIndicator 设置动画:
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;
}
而且它运行良好。
非常感谢,