Почему представление не заполняет весь кадр представления прокрутки? - PullRequest
1 голос
/ 12 декабря 2011

спасибо за чтение.Я ценю любые идеи, которыми вы можете поделиться.

У меня есть вид прокрутки.Я называю это myTopScrollView.

Этот вид прокрутки имеет ширину 1024 пункта и высоту 340 пунктов.

Он рисует подпредставление другого контроллера представления, который я перетащил в раскадровку избиблиотека объектов.Я определяю этот контроллер вида как topScrollViewPage1.

. Я иду в инспектор размера, чтобы указать прямоугольник рамки шириной 1024 пункта и высотой 340 пунктов (см. Рисунок 1 ).

// Point to the main storyboard.
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

// Point to the first scroll view for myTopScrollView.
UIViewController *myViewController = [storyboard instantiateViewControllerWithIdentifier:@"topScrollViewPage1"];

// Add the subview to the scroll view.
[self.myTopScrollView addSubview:myViewController.view];

// Define the content size - width and height.
self.myTopScrollView.contentSize = CGSizeMake(1024, 340);

// Add the scroll view to the view.
[self.view addSubview:self.myTopScrollView];

Теперь он успешно компилируется и загружается.

Однако подпредставление с красным фоном не заполняет всю ширину рамки просмотра прокрутки, даже если четыре кнопкиРаньше я отмечал, что четыре угла подпредставления нарисованы именно там, где я их положил в раскадровке (см. Рисунок 2 ).

Вопрос в том, почему?

Интересно,красный фон подпредставления останавливается на 768 пунктах (длина ширины iPad в портретной ориентации).

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

Знаете ли вы, почему фон представления не заполняет всю ширину вида прокрутки (даже если я указал contentSiz e вида прокрутки, чтобы быть целымширина 1024 пт)?

1 Ответ

0 голосов
/ 19 декабря 2011

Хорошо, ответ связан с контроллером представления с идентификатором "topScrollViewPage1".

Размер представления "Прямоугольник кадра" в этом контроллере представления все еще находился в значении по умолчанию.

Чтобы изменить размер представления, выделите контроллер представления, перейдите в «Инспектор атрибутов», в разделе «Размер» измените «Inferred» на «Freeform».

Это позволит вам изменить кадрразмер представления внутри этого контроллера представления.

...