Моя задача - разрешить прокрутку ландшафта.Дизайн для портрета.У меня возникла идея добавить ScrollView к компонентам или в «Вставить в Scroll View» в Interface Builder .Я ожидал, что это сработает, но нет.Я использую Xcode 4.4, iOS 5.1 (офисный проект тоже нуждается в поддержке 4.2), но проблема та же.
В вопросе переполнения стека iPhone SDK: UIScrollView не прокручивает есть одна строка, которая решает проблему.
Другая попытка находится в вопросе переполнения стека iOS - UIScrollView не работает (не работаетпрокрутка на всех - изображение остается фиксированным) , и это помогло мне, в сочетании с другими, так что вот мой ландшафтный код с возможностью прокрутки:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromOrientation
{
if( UIInterfaceOrientationIsPortrait( [[UIApplication sharedApplication] statusBarOrientation] ) ){
scrollView.contentSize = portaitScrollSize;
}
else{//statusbar is Landscape
scrollView.contentSize = landscapeScrollSize;
}
}
ScrollView в ограниченном видев представлении iVar в Интерфейсном Разработчике.portaitScrollSize
и landscapeScrollSize
являются приватными переменными.Они инициализируются и не меняются.В my.h
файле:
IBOutlet UIScrollView *scrollView;
В my.m
файле:
CGSize portaitScrollSize, landscapeScrollSize;
...
portaitScrollSize = CGSizeMake(320,440);
landscapeScrollSize = CGSizeMake(480,480);
Надеюсь, это поможет кому-нибудь добавитьфункция прокрутки + прокрутки к дизайну портретов.
Не забудьте разрешить портрет + пейзаж на верхнем компоненте :
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return TRUE;
}