У меня есть UIScrollView, который содержит два подзаголовка, каждый из которых является точно размером экрана устройства. Я установил размер взглядов ребенка в моем AppDelegate
:Настройка границ на UIScrollView
CGRect screenRect = [[self window] bounds];
[[myViewController1 view] setFrame:screenRect];
screenRect.origin.x = screenRect.size.width;
[[myViewController2 view] setFrame:screenRect];
Я затем добавить эти взгляды на UIScrollView
и установить UIScrollView-х contentSize
быть в два раза больше ширины экрана:
CGRect containerRect = CGRectMake(0, 0, screenRect.size.width * 2, screenRect.size.height);
UIScrollView *sv = (UIScrollView *)[myRootViewController view];
[sv addSubview:[myViewController1 view]];
[sv addSubview:[myViewController2 view]];
[sv setFrame:[[self window] bounds]];
[sv setContentSize:containerRect.size];
Когда приложение работает, я вижу взгляды бок о бок, как и ожидалось. Однако оба представления намного шире ширины экрана. Кроме того, UIScrollView
не ограничивает вертикальную прокрутку, которую я ожидаю, так как ее высота равна высоте экрана.
Как я могу заставить UIScrollView ограничивать вертикальную прокрутку и принудительно отображать его дочерние элементы в рамке соответствующего размера?
Вы не установили рамку scrollviews только это размер содержимого – Eyeball
@Eyeball: Я на самом деле установить кадр раньше, я просто забыл добавить, что здесь. Я отредактировал мой вопрос, спасибо. –
Является ли rootviewcontroller инфильтрацией scrollview? Создается ли он программно или через IB? – Eyeball