Анимация проблемы с просмотром

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

У меня возникла проблема, когда я добавляю UITableView (и, вероятно, другие представления) к этому пользовательскому UIViewController (назовем его ContainerViewController )) , а затем оживить изменение размера ContainerViewController's .

Проблема заключается в том, что отображаемое табличное представление изменяется и помещается, когда начинается анимированное изменение размера контейнера - изменение размера табличного представления вообще не анимируется.

Некоторые примеры кода:

Я добавляю представление таблицы в представление контейнера в viewDidLoad :

[self addChildViewController:self.subviewController];
[self.view addSubview:self.subviewController.view];
[self.subviewController didMoveToParentViewController:self];

[self.viewController.view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];

Я установил начальный размер tableview в viewWillLayoutSubviews (установка этого в viewDidLoad вызывала другие несвязанные проблемы): (barController - это верхняя панель инструментов)

CGRect subviewFrame = [self.view bounds];
const CGFloat offset = CGRectGetHeight([self.barController.view frame]);
subviewFrame.origin.y += offset;
subviewFrame.size.height -= offset;
[self.subviewController.view setFrame:subviewFrame];

Я изменяю размер контейнера:

[UIView animateWithDuration:0.2 animations:^{
    [containerViewController.view setFrame:[self aDifferentFrameSize]];
}];
0
nl ja de
Я думаю, вам нужно прояснить некоторые вещи. Во-первых, означает, что «контейнерный контроллер представлений помещается с произвольным фреймом на другое представление»? В предыдущем предложении вы говорите, что контроллер вида расположен под панелью инструментов, так что это за «другое представление»? Какой контроллер - это код, который вы отправили? Какой контроллер является subviewController?
добавлено автор rdelmar, источник
Извините, я все еще немного потерял вашу иерархию. Является ли сам контроллер контейнера содержащимся в другом контроллере представления? Я спрашиваю, потому что вы анимируете представление containerController, и если это вид сверху (т. Е. Весь экран), это то, что вы хотите сделать?
добавлено автор rdelmar, источник
Конечно. Существует класс контроллера контейнера, который имеет два контроллера представления в качестве переменных. Эти два представления представляют собой подходы к представлению контейнера. Первый из этих двух контроллеров представлений предназначен для панели, аналогичной панели навигации в UINavigationViewController; второй - контроллер вида для представления, которое мы хотим отобразить под панелью (обычно это представление таблицы). Предложение означает, что мы берем этот вид контейнера (с двумя предыдущими представлениями в виде подзонов) и размещаем его на произвольном представлении (я помещаю многие из этих представлений контейнера на один вид, с пространством между ними).
добавлено автор livings124, источник
На панели инструментов, на которую я ссылался, есть вид, похожий на панель навигации - одно из двух подпунктов из моего предыдущего комментария. Первые два фрагмента кода были в методах в моем контроллере контейнеров, в котором есть панель навигации и вид, расположенный под ним. subviewController - это представление, расположенное под навигационной панелью. Третий фрагмент кода (блок анимации) показывает изменение размера контейнера (с навигационной панелью и другим видом).
добавлено автор livings124, источник
Извините, это немного запутанно. Контроллер контейнера находится в другом представлении.
добавлено автор livings124, источник
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.