UITableViewController не будет прокручивать пользовательскую реализацию - PullRequest
1 голос
/ 21 декабря 2010

Существует множество сообщений о том, что следует избегать использования UITableViewController. Все больше и больше я хочу сдаться, но я использую суперкласс CoreDataTableViewController, который связан со всем приложением, и у меня нет времени переписывать все это.

Конечно, представление UITableViewController не должно занимать весь экран (проект iPad), поэтому я поместил его в качестве подпредставления на обычном экземпляре UIView с достаточно большим размером фрейма. Вот тогда начинают происходить странные вещи.

Я скопировал свой пользовательский класс (GroupsTableViewController-> CoreDataTableViewController-> UITableViewController) из тестового проекта, где все работало нормально, в мой текущий проект. Затем я выделяю / инициализирую и добавляю Subview просмотра.

Сначала стол будет пустым. Что дает? ViewWillAppear: сообщение не отправлено. Что за...? Хорошо, тогда я вызываю это вручную (в этот момент я уже начинаю сомневаться в себе). Затем таблица фактически заполнена контентом, но вся интерактивность исчезла. Нет нажатий, нет прокрутки.

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

Кто-нибудь может указать мне правильное направление? Я где-то забыл делегата? Или, может быть, неотправленное сообщение?

1 Ответ

2 голосов
/ 21 декабря 2010

Одна проблема, с которой вы сталкиваетесь, заключается в том, что вложенные UIViewControllers не получают правильные события, такие как viewWillAppear :.В соответствии с рекомендациями Apple, UIViewController должен заполнять весь экран и не представлять частичное представление (конечно, за исключением UITabBarController, UINavigationController и UISplitViewController).Попробуйте установить GroupsTableViewController в качестве основного контроллера (если он находится в UINavigationController, попробуйте нажать его, если его разделенное представление делает его подробным представлением и т. Д.).Если это работает, то некоторые события не проходят, вызывая ваши проблемы.Надеюсь, это поможет!

...