2013-03-06 2 views
0

Я боролся с UIScrollview, и это сбило меня с ног. Я попытался взять ссылку из следующих двух пост на StackOverflowUIScrollView, когда включен Autolayout (StoryBoard)

scrollview xcode4.5 autolayout, Xcode 4.5 UIScrollView, Embed ImageView in ScrollView with Auto Layout on iOS 6,

Я попытался viewDidLayoutSubviews, как сказано в UIScrollView setContentSize breaks view with Auto Layout, который вызывает мое приложение к сбою.

И я попробовал ViewDidLoad, viewDidAppear и viewWillAppear, но ничего не получилось. Я попробовал Google и нашел пару более соответствующую должность https://coderwall.com/p/zfe8da, http://www.devx.com/wireless/Article/45113

Я попытался переосмыслить и не нашли ничего сверхъестественного, что я не делал. Это кажется простым, прямым подходом.

У меня нет подсказок или я думаю, пожалуйста, помогите мне.

Я использую следующий код, только что упомянутый У меня есть 3 изображения, которые я поместил в ScrollView. Я складываю их друг на друга, поэтому высота больше, чем высота экрана iPhone. Я ожидал, что я их просто прокрутил, но думаю, что я ошибся. В файле реализации

_howtoScrollView.frame = CGRectMake(0, 0, 320, 460); 
_howtoScrollView.scrollEnabled = YES; 
[self.howtoScrollView setContentSize:CGSizeMake(self.howtoScrollView.frame.size.width, 700)]; 
[self.view addSubview:_howtoScrollView]; 

В файле интерфейса .h

@property (weak, nonatomic) IBOutlet UIScrollView *howtoScrollView; 

Тот, кто получил успех с ScrollView, имея раскадровке Autolayout.

ответ

0

Попробуйте удалить _howtoScrollView.frame = CGRectMake(0, 0, 320, 460);, проверьте его работоспособность.

Если вам действительно нужно изменить кадр вида, в Autolayout вы не должны устанавливать рамку непосредственно в свой код, вместо этого вы должны изменить Constraint.

+0

Нет, это работает либо путем комментирования _howtoScrollView.frame = CGRectMake (0, 0, 320, 460); line ... – Alix

0

Попробуйте сделать это без функции «addSubview». Я думаю, что с AutoLayout переопределить другие настройки ...

+0

Я тоже это пробовал. Все равно никакого эффекта. :( – Alix

0

Использование интерфейса строитель,

расширить Constraints раздел вашей точки зрения скроллинга. Затем выберите «Horizontal Space Constraint». В этом разделе вы, вероятно, должны иметь отрицательное значение для значения «constant». Измените его на 0. Это будет трюк.

Смежные вопросы