Загрузка ячеек через перо и ссылки на них в них - PullRequest
0 голосов
/ 27 февраля 2009

Я загружаю UITableViewCell, который содержит две теговые метки. Пользователь покинет текущий вид, содержащий следующий код, и перейдет в другой вид. Там устанавливается значение имени, и пользователь возвращается к этому виду (код ниже). Я назначаю имя, которое они задают в другом представлении, метке имени Это работает, но я получаю новый ярлык, смещенный поверх других моих ярлыков. Кажется, у меня две версии этой клетки. Не совсем уверен. Любые предложения о том, что может быть причиной такого поведения?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = nil;
if(indexPath.section == 0)
{   
    cell = [tableView dequeueReusableCellWithIdentifier:@"CellNameIdentifier"];
    if (cell == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"CellentName" owner:self options:nil];
        cell = cellName;
        //self.cellName = nil;
    }
}
return cell;
}
- (void)viewDidAppear:(BOOL)animated {
UILabel *startdate = (UILabel *)[cellName viewWithTag:1];
startdate.text = aName;
[super viewDidAppear:animated];
}

1 Ответ

1 голос
/ 27 февраля 2009

Судя по виду этого кода, менее вероятно, что вы получаете «новую метку, смещенную поверх других моих меток», и, скорее, рисунок не может перекрашиваться поверх вещей должным образом. Чтобы сделать это, вы можете попробовать вызвать [tableView reloadData] или использовать наблюдателя, но я думаю, что есть лучший способ.

Вы должны иметь возможность передавать объект в другое представление, изменять объект (вместо метки) и перемещать данные таким образом. Другими словами, в табличном представлении он загружает объекты, а внутри cellForRowAtIndexPath загружает ячейки и устанавливает имена меток, используя данные объекта. Нажмите на второй вид и передайте объект как свойство. Управляйте этим свойством все, что вы хотите на этом экране, и когда вы открываете представление, особой логики нет. В первом табличном представлении снова отображается то, что сохранено внутри того объекта, которым вы манипулировали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...