2010-05-09 2 views
0

У меня есть scrollview, который я должен был видеть, чтобы контроллер вида был нажат на UINavigationController. Моя панель навигации непрозрачна.Как иметь scrollview взять пробел между uinavigationbar и uitoolbar

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

Возможно ли это, или мне нужно жестко задавать некоторые значения размера?

Заранее спасибо

ответ

2

При инициализации Scrollview вы можете установить свой параметр contentSize:

[scrollView setContentSize:CGSizeMake(320,392)]; 

Высота экрана (480) минус на панели инструментов (44) и панель навигации (44) = 392. Отбросьте это до 372, если вы также показываете строку состояния несущей.

или использовать свойство геометрии рамы:

[scrollView setContentSize:CGSizeMake((scrollView.superview.frame.size.width), 
             (scrollView.superview.frame.size.height - 
             toolbar.frame.size.height - 
             navigationController.navigationBar.frame.height))]; 
+0

Что делать, если на следующий iphone получает другое разрешение? – Kamchatka

+0

я не знаю, как именно ваш взгляд настроен, так что вы, возможно, придется настроить это, но вы можете использовать свойства геометрии рамы: \t [Scrollview setContentSize: CGSizeMake ((scrollView.superview.frame.size. width), (scrollView.superview.frame.size.height - toolbar.frame.size.height - navigationController.navigationBar.frame.height))]; –

+0

Спасибо за помощь. Почему вы устанавливаете contentSize, а не frame.size? Если я хочу, чтобы scrollview сам находился между панелью навигации и панелью инструментов, не следует ли мне изменять scrollview.frame.size? – Kamchatka

0

При использовании AutoSize, правильный размер кадра не известен на viewDidLoad. Вы должны упаковать это в viewWillAppear, а затем все работает отлично

scrollView.contentSize = CGSizeMake(scrollView.superview.frame.size.width, scrollView.superview.frame.size.height); 
Смежные вопросы