UITable для scrollView, UITable не действует при вызове reloadData - PullRequest
0 голосов
/ 24 октября 2011

У меня есть представление прокрутки с 2 UITables на нем.Все в таблице хорошо работает.Ни одна из таблиц не должна прокручиваться самостоятельно.Если я позвоню

[self.tableOne reloadData];когда кнопка нажата, она работает.Но когда я вызываю его в методе делегата UITextView, это не действует.Это проблема с многопоточностью?Или что вызывает это странное поведение.

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

Я добавил NSLog здесь, чтобы подтвердить, что этот методвызывается.

 - (void)textViewDidBeginEditing:(UITextView *)textView 
{ 
theTableCellCurrentlyBeingEdited = textView.tag;
[self.tableOne reloadData];  
}

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

- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath 
{   
if (theTableCellCurrentlyBeingEdited == indexPath.row)
{
    return 120;
}
else
{
    return TABLE_CELL_HEIGHT;
}
}

Но heightForRowAtIndex никогда не вызывается.

У меня есть источник данных tableOnes и делегат для себя.В моем .h я добавил

<UITextViewDelegate, UITableViewDelegate, UITableViewDataSource>

Так что звонки приходят сюда.

Кто-нибудь может дать мне несколько советов о том, что идет не так?

МногиеСпасибо, код

1 Ответ

0 голосов
/ 24 октября 2011

Прежде всего.Где вы называете текст textView?Вы используете theTableCellCurrentlyBeingEdited = textView.tag; И тег не даст вам введенный вами текст.Вы просто меняете тег своей ячейки, который не изменит ничего на визуальные элементы ячейки.

Второе.Почему бы не позвонить:

- (void)textViewDidChange:(UITextView *)textView

или

- (void)textViewDidEndEditing:(UITextView *)textView

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

...