/ / Проблеми с autolayout и 3.5 "срещу 4" - ios, iphone, uiview, оразмеряване, автоматична настройка

Проблеми с автоматичното изчакване и 3.5 "срещу 4" - ios, iphone, uiview, преоразмеряване, autolayout

Имам настройка на viewcontroller с помощта на storyboard + autolayout, но имам някои проблеми (пре) оразмеряването правилно на подвида за 3.5 "/ 4" дисплей.

Това е, което имам настройка в таблото за снимки:

сториборд

Scrollview правилно запазва 20px пространството си до дъното в съответствие с ограничението. Подвидовете обаче (червен), която добавям в цикъла по-долу към scrollview трябва да има същата височина като scrollview, но те не "t :(

int pageCount= 3;

self.scrollView.delegate= self;
self.scrollView.pagingEnabled= YES;
self.scrollView.scrollEnabled= YES;
self.scrollView.showsHorizontalScrollIndicator= NO;
self.scrollView.showsVerticalScrollIndicator= NO;

self.scrollView.contentSize= CGSizeMake(self.scrollView.bounds.size.width * pageCount, self.scrollView.bounds.size.height);

NSLog(@"viewcontroller frame: %@ (bounds: %@)", NSStringFromCGRect(self.view.frame), NSStringFromCGRect(self.view.bounds));
NSLog(@"scrollview frame: %@ (bounds: %@)", NSStringFromCGRect(self.scrollView.frame), NSStringFromCGRect(self.scrollView.bounds));
NSLog(@"scrollview content size%@", NSStringFromCGSize(self.scrollView.contentSize));

for (int i= 0; i < pageCount; i++)
{
UIView* neutralContainer= [[UIView alloc] initWithFrame:CGRectMake(0.0 + i * self.scrollView.frame.size.width, 0.0, self.scrollView.frame.size.width, self.scrollView.frame.size.height)];
neutralContainer.backgroundColor= [UIColor redColor];

NSLog(@"containerview frame: %@ (bounds: %@)", NSStringFromCGRect(neutralContainer.frame), NSStringFromCGRect(neutralContainer.bounds));
[self.scrollView addSubview:neutralContainer];

Както изглежда, scrollview рамката, която отпечатвам в конзолата (вижте екранната снимка), остава същата, без значение дали стартирам 4 "или 3.5" симулатора. Бих очаквал да получа различни стойности.
Може ли някой да ми обясни какво правя неправилно?

Отговори:

0 за отговор № 1

Опитайте да зададете размера на съдържанието си в scrollview.

self.scrollView.contentSize.Height = self.scrollView.frame.size.height;

Подразделението ви се добавя динамично и не трябва да отговаря на ограниченията на родителя му.


0 за отговор № 2

Отивам през тази публикация Storyboard UIScrollView contentSize? ми помогна да реша проблема:
Вместо да инициализирате подвидовете за UIScrollview в viewDidLoad метод, преместих кода на viewDidLayoutSubviews и voila, размерът на съдържанието е правилен както за 3,5 ", така и за 4", а подвидовете са разположени правилно в моето превъртане.