Другие элементы интерфейса в UITableViewController, ячейки не отменяются

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

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

Я пытался не использовать UITableViewController и использовать UIViewController с этим. Это работает нормально, но когда таблица возвращается, когда я нажимаю назад на элемент управления навигацией, строка остается выделенной.

Итак, у меня есть два вопроса: 1. Как заставить строку исчезать, как это происходит с UITableViewController? и 2. Можно ли добавить другие элементы пользовательского интерфейса, не являющиеся UITableView, в UITableViewController?

Спасибо, Карл.


person Community    schedule 02.05.2009    source источник


Ответы (1)


О первом вопросе,

У меня такая же проблема. вы можете увидеть мой вопрос по адресу Как выполнить отмену выбора ячейки, когда пользователь возвращается к табличному представлению?

как сказал Даниил:

UITableViewController автоматически обрабатывает это для вас, когда вы вызываете super в viewDidAppear: и т. д. Таким образом, самый простой способ добиться этого — создать подкласс UITableViewController. Если вы не можете (например, потому что таблица является частью более сложного представления), вам придется сделать это самостоятельно в методе viewDidAppear:. (Вы также должны прошить скроллеры).

По второму вопросу:

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

person Panagiotis Korros    schedule 02.05.2009
comment
Спасибо. Это то, о чем я думал. Мне также удалось довольно легко отменить выбор. Я пробовал это раньше и не мог понять это правильно. Итак, для всех, кому это нужно: поместите это в viewDidAppear: [tableView deselectRowAtIndexPath: [tableView indexPathForSelectedRow] анимированный: YES]; - person ; 02.05.2009