Добавьте UIProgressView в пользовательский UITableViewCell и определите, что такое строка индекса - PullRequest
0 голосов
/ 26 марта 2012

Я создаю пользовательский UITableViewCell и добавляю в ячейку UIProgressView, потому что когда я добавляю строку в UITableView, я загружаю информацию из данных XML и хочу использовать ProgressView, чтобы показать прогресс процесса, мойВопрос в том, как определить, в какой строке индекса нужно изменить индикатор выполнения, а затем скрыть его? ... Каков путь индекса только что созданной строки?

в:

cellForRowAtIndexPath:(NSIndexPath *)indexPath

я получаю информацию из моего Custom UITableViewCell следующим образом:

UILabel *label;

label = (UILabel *)[cell viewWithTag:1000];
label.text = [[managedObject valueForKey:@"firstName"] description];

так, как я могу узнать строку пути индекса только что добавленной строки, чтобы затем изменить индикатор выполнения?

1 Ответ

0 голосов
/ 26 марта 2012

Полагаю, я не понимаю, о чем вы спрашиваете. indexPath - это IndexPath строки, которую вы только что создали. Для этого свойства вы устанавливаете свойство, но это свойство будет содержать только IndexPath созданной строки LAST.

Обновлено, чтобы показать примеры:

Метод 1 - Вы не вызываете другой метод из cellForRowAtIndexPath. В этом случае вам понадобится приватное свойство типа NSIndexPath (включается только код для импорта MyViewController и объявление @interface, чтобы показать, куда поместить объявление приватного свойства:

в вашем файле .m:

#import "MyViewController.h" 

@interface MyViewController ()
    @property(nonatomic,strong) NSIndexPath *lastIndexPathCreated;
@end

@implementation MyViewController
@synthesize lastIndexPathCreated;

...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// All your other cell setup code

self.lastIndexPathCreated = indexPath;
return cell;
}

-(void)someOtherMethod {
    // The last IndexPath of the row LAST created is self.lastIndexPathCreated
}

Метод 2: Предполагается, что вы вызываете какой-либо другой метод из cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    // All your other cell setup code
    [self myOtherMethodWithIndexPath:indexPath];
    return cell;
}

-(void)myOtherMethodWithIndexPath:(NSIndexPath *)lastIndexPath {
    // Do something with lastIndexPath
}

Надеюсь, это поможет

...