Неверный размер из UITableView.SizeThatFits () - PullRequest
5 голосов
/ 07 ноября 2011

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

Когда всплывающее окно становится видимым, я изменяю размер содержимого всплывающего окна до высоты табличного представления. Я использую метод SizeThatFits () из UITableView для получения размера таблицы и использую это значение для установки высоты popover PopoverContentSize.

Это прекрасно работает, когда приложение работает. Но всегда в первый раз, когда всплывающее окно отображается после нового запуска приложения, SizeThatFits () выдает неправильную высоту (около 60 пикселей в высоту). Кто-нибудь знает, что это за проблема?

Ответы [ 2 ]

3 голосов
/ 07 ноября 2011

У меня была похожая проблема, потому что я выполнял свои вычисления в ViewDidLoad.Я смог обойти эту проблему, создав флаг bool в коде представления и выполнив вычисления в ViewDidAppear, только если флаг не был установлен (и, конечно, установив флаг так, чтобы логика не повторялась каждый раз).

1 голос
/ 19 февраля 2013

На iOS 5 и выше sizeThatFits в UITableView дает правильный результат при вызове в методе viewDidLayoutSubviews UIViewController.

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