Изменение размера фрейма UITableView на основе данных - PullRequest
1 голос
/ 25 мая 2011

Из более раннего поста UITableView, только показывая UITableViewCells с данными , я смог соответственно изменить размер своего UITableView.Я делаю это, изменяя размеры в методе:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

Я объявляю CGRect originalFrame для хранения моего исходного размера tableView, потому что у меня была проблема, когда я переходил от меньших к большим строкам (то есть от 1 до 5 строк)тогда 5 строк будут отображаться только в 1 ряду вместо 5. Поэтому в моем методе viewDidLoad я переустановил tableView.frame в originalFrame.Это в значительной степени работает.Однако, нюанс, который я вижу сейчас: он все еще запоминает последний выбор при загрузке таблицы, затем, когда вы касаетесь таблицы, он корректно перезагружается.Например, допустим, я показываю 3 строки данных, а затем перехожу к выделению, содержащему 5 строк данных.Когда UITableView перезагружается, он сначала показывает только 3 строки данных, затем, когда я касаюсь UITableView, магически появляются следующие две строки, и это работает как обычно.Это случается, только если я иду от меньшего к большему.Если я начну с выбора, который имеет 5 строк данных, это выглядит хорошо.Затем я перехожу к меньшему выделению, содержащему 3 строки данных, затем оно автоматически изменяет размер до 3 строк.Какие-нибудь мысли?Я не перерисовываю в нужное время?Я помещаю мое изменение размера в правильном месте?

1 Ответ

0 голосов
/ 22 июня 2011

Попробуйте:

[myTableView reloadData];

после настройки кадра.

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