настройка ячейки UITableView во время выполнения - PullRequest
3 голосов
/ 15 мая 2011

Я вложил в подкласс UITableViewCell. То, что я хочу получить, - это когда я нажимаю на ячейку, я добавляю UIView в нижнюю часть ячейки и соответствующим образом регулирую высоту ячейки. Вот мой код:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{   
MyCell* cell = (MyCell *) [self.table cellForRowAtIndexPath:indexPath]; 
UIView * options = [[UIView alloc] initWithFrame:CGRectMake(0, cell.frame.size.height - 27, cell.frame.size.width, 27)];
UIButton* button1 = [UIButton buttonWithType:UIButtonTypeCustom];
[options addSubview:button1];
UIButton* button2 = [UIButton buttonWithType:UIButtonTypeCustom];
[options addSubview:button2];
UIButton* button3 = [UIButton buttonWithType:UIButtonTypeCustom];
[options addSubview:button3];
//did some layout calculation here to position the button
[cell addSubview:options];
}

Вот видео , иллюстрирующее проблему

Также я попытался изменить внешний вид моей ячейки с моего пользовательского UIButton на обычный UITableViewCellAccessoryDisclosure, но он не работал

MyCell * cell = (MyCell *)[self.table cellForRowAtIndexPath:temp];
     [cell.accessoryView removeFromSuperview];
     cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

Если вам любопытно, что я пытаюсь сделать, я пытаюсь создать настраиваемую ячейку твита-бота, где вы нажимаете ячейку / строку, и она предоставляет вам другие варианты (ретвиты и т. Д.), А также она была показана анимированной.

Ответы [ 2 ]

2 голосов
/ 15 мая 2011

Не знаю, правильно ли я понимаю, что вы пытаетесь сделать. Но если вы хотите анимировать изменение высоты UITableViewCell, попробуйте настроить его в пределах - (CGFloat) tableView: (UITableView *) tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath и вызвать

[tableView beginUpdates];
[tableView endUpdates];
0 голосов
/ 15 мая 2011

Поместите элементы управления в другую ячейку и используйте

insertRowsAtIndexPaths:withRowAnimation:   

чтобы показать это и

deleteRowsAtIndexPaths:withRowAnimation: 

чтобы скрыть это.

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