У меня есть следующие настройки.
pagingScrollViewController с UIScrollView в качестве его представления (self.view = scrollView).
В этом scrollView я добавляю представление rootViewController как подпредставление.
Представление rootViewController представляет собой UIView, к которому я добавляю одно или другое представление (в зависимости от внутренней логики).
UIScrollView инициализируется с фреймом, равным applicationFrame, поэтому 0, 20, 320, 460. Это хорошо из-за строки состояния вверху.
Проблема возникает при добавлении представления rootViewController в представление прокрутки. В процессе создания rootViewController его вид настраивается в -loadView, который все еще закомментирован в моем случае. Таким образом, стандартное приложение loadView обрабатывается.
Это дает мне представление, которое также имеет рамку 0, 20 , 320, 460. Это не так, как мне хотелось бы видеть, так как теперь представление rootViewController удалено из 40 пикселей. верх фактического экрана iphone.
Теперь это, конечно, легко исправить, вручную установив представление rootViewControllers в -loadView или присвоив ему фрейм, в котором значение y равно 0 в -viewDidLoad;
Но я не могу вообразить, что именно так Apple собиралась это сделать. Я не использую Интерфейсный конструктор, так что, возможно, в этом проблема, Apple намеревается использовать IB, но я упрям в этом вопросе:)
Я использую viewControllers неправильно? Это казалось хорошим способом отделить логику scrollView от логики других представлений.
Каким будет правильный способ добавления представления второго UIViewController к представлению первого UIViewController. В котором первый viewController.view получает кадр 0, 20, 320, 460. И второй контроллер.view просматривает кадр 0, 0, 320, 460 (так что в основном это границы первого controller.view)
Широко используется слово «контроллер» и представление, надеюсь, вопрос ясен.