A UIViewController класс имеет свойство
self.contentSizeForViewInPopover
, которое будет изменять размер всплывающего окна без необходимости добавления ссылки на него.
И для расширенияВ решении я использовал метод rectForSection: , чтобы получить размер раздела (у меня есть только 1 раздел, поэтому его достаточно легко получить), а затем добавил высоту панели навигации (кажется, что20).поэтому я могу создать всплывающее окно размером с готовое представление таблицы:
CGRect sectionRect = [view.tableView rectForSection:0];
if (sectionRect.size.height + 20 < POPOVER_SIZE.height)
view.contentSizeForViewInPopover = CGSizeMake(POPOVER_SIZE.width, sectionRect.size.height + 20);
else
view.contentSizeForViewInPopover = POPOVER_SIZE;
может оказаться сложнее с несколькими разделами, я не пробовал.должен быть в состоянии суммировать высоту раздела, но могут быть некоторые пробелы, о которых я не знаю.