当用户点击UITableView中的删除按钮时(打开编辑时),表格中间会显示UIActivityIndicator,因为我想不出将其放在要删除的单元格中间的方法。这是我现在正在使用的代码:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
self.activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
//cell.accessoryView = self.activityView;
self.activityView.center = self.tableView.center;
[self.tableView addSubview:self.activityView];
[self.activityView startAnimating];
.... rest of the code
所以1)
首先询问如何将indicatorView放在正在删除的单元格的中间。
2)在发生这种情况时,无论如何禁用删除按钮?我不希望用户按下按钮。
EDIT1
我忘了提到我正在为细胞出口使用自定义类。在正常的tableView中你可以填充我使用这个代码来获取每个单元格
GamesInfoTableViewCell *cell1 = (GamesInfoTableViewCell *)[tableView dequeueReusableCellWithIdentifier:otherSection];
答案 0 :(得分:1)
试试这段代码。它会将子视图添加到您要删除的单元格的中心。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
UITableViewCell * cell = [tableView cellForRowAtIndexPath: indexPath];
// Setting Frame of Spinner..
CGFloat x = (cell.frame.size.width-spinner.frame.size.width)/2;
CGFloat y = (cell.frame.size.height-spinner.frame.size.height)/2;
spinner.frame = CGRectMake(x, y, spinner.frame.size.width, spinner.frame.size.height);
[cell addSubview: spinner];
[spinner startAnimating];
//Do YOUR WORK NOW
}
}
快乐编码.. :)