Objective-c, как увеличить / уменьшить высоту UITableViewCell по нажатию кнопки на Celll - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть ячейка представления UItable, в которой есть кнопка. Когда я нажимаю на эту кнопку, конкретная ячейка должна увеличиваться и отображать ее 8 меток, а когда я нажимаю снова на кнопку, она должна получить свою первоначальную форму. Изначально я хочу отобразитьтолько две метки.Может ли кто-нибудь помочь мне, как мне поступить?

, и я попытался, как будто создал ячейку с 8 ярлыками и одной кнопкой.Я пытаюсь отобразить ячейку с 8 метками, когда кнопка нажата, иначе с двумя. Что не происходит.

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 ноября 2011

Метод, связанный с кнопкой в ​​ячейке, должен выглядеть следующим образом:

- (IBAction)myMethod:(id)sender;

В его реализации вы можете попробовать это:

UIButton *button=sender;
UITableViewCell *cell=[button superview]; //this should get you the contentView OR the UITableViewCell
//now you can increase cell to display all its content
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[cell setFrame:yourFrame];
[UIView commitAnimations];

Я не уверен, что [button superview] получить ячейку таблицы или свойство contentView ячейки, потому что теперь я не могу попробовать этот код.

0 голосов
/ 29 ноября 2011

Если вы хотите перезагрузить ячейку в вашем UITableView, используйте следующий код:

[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
                      withRowAnimation:UITableViewRowAnimationNone];

Это приведет к тому, что ваши tableView: heightForRowAtIndexPath: и tableView: cellForRowAtIndexPath: методы будут вызваны с соответствующим indexPathперед перерисовкой соответствующей ячейки.Убедитесь, что вы отслеживаете, должна ли быть расширена или сокращена ячейка на этом пути индекса (не храните эту информацию в самой ячейке, так как вы будете создавать новую ячейку), и отвечайте соответствующим образом.

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