Как изменить размер UITableView для пользовательского динамического расширения UITableViewCell - PullRequest
0 голосов
/ 05 февраля 2012

Я использую пользовательский UITableViewCell, который я создал, чтобы расширить ячейку при касании.Я делаю это, используя beginUpdates / endUpdates, которые в свою очередь вызывают heightForRowAtIndexPath.Работает нормально, ячейка расширяется, отображается ярлык, который у меня есть.Пока все хорошо.

Единственная проблема заключается в том, что сам UITableView не изменяет размеры, чтобы учесть дополнительную высоту ячейки.

Я читал об изменении размера фрейма, но это нене похоже на работу.Кто-нибудь знает, как я могу это сделать, потому что кажется, что все должно быть довольно просто!

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

Если я правильно понимаю вашу проблему, я считаю, что недавно столкнулся с той же проблемой.Я нашел ответ в учебнике по macheads 101 на YouTube.Его пример имел дело с UITableView, который изменил свой размер для учета отображения клавиатуры.

[[NSNotificationCenter defaultCenter] addObserver:self selector:
    @selector(keyBoardHidden:) name:UIKeyboardWillHideNotification object:nil];

это в методе viewDidLoad, и он вызывает keyBoardHidden, который выглядит следующим образом:

- (void)keyBoardHidden:(NSNotification *)note {
    //[[self tableView:tableView cellForRowAtIndexPath:0].textLabel setText:@""];
    //[tableView setFrame:self.view.bounds];
    CGRect searchBarFrame = searchBar.frame;
    CGRect newTableViewFrame = CGRectMake (0, (float)searchBarFrame.size.height,
        320, 480);
    [tableView setFrame:newTableViewFrame];     
}

Heизменил размер фрейма с помощью простой команды [tableView setFrame: self.view.bounds];но это оставило верхнюю ячейку скрытой за панелью поиска, которую я первоначально решил, просто отключив первую ячейку, но затем я решил, что это кустарная лига, и велел фрейму UITableView начать внизу панели поиска.Я оставил другое решение в комментариях, хотя на тот случай, если оно вам пригодится.

К сожалению, это только пример.Я не обладаю достаточными знаниями, чтобы сказать вам, где реализовать эти методы в вашем коде.Я надеюсь, что это все равно полезно.

0 голосов
/ 05 февраля 2012

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

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