2015-10-09 2 views
0

У меня есть UIScrollView на моем главном экране. Он работал нормально. UIScrollView остановил прокрутку, когда я добавил UIImageView поверх этого прокрутки. Но он отлично работает, если я удалю UIImageView. Целью UIImageView является предоставление фонового изображения для основного вида.UIScrollView остановил прокрутку после добавления ImageView в родительском представлении?

Иерархия мнение

  • Родитель Просмотр
    • фон UIImageView
    • UIScrollView

enter image description here

Я добавил следующий код в функции viewDidLoad:

_scrollView.contentSize = self.view.frame.size; 
_scrollView.frame = self.view.frame; 
[self.view addSubview:_scrollView]; 
[self.view bringSubviewToFront:_scrollView]; 
+0

показать нам скриншот приложения и раскадровки он поможет нам помочь – baydi

+0

Вы добавляете представление изображения программно? Если да, есть вероятность, что ваше изображение будет добавлено выше scrollview, а scrollview не получит никакого ввода, чтобы он не прокручивался. Укажите код того, как вы его добавляете, или будет намного сложнее сделать вывод. – NSNoob

+0

Привет, я добавил снимок экрана и фрагмент кода – kunjus

ответ

0

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

[self.view bringSubviewToFront:yourscrollview] 

и установите цвет фона прокрутки для очистки, чтобы изображение было видно.

+0

Я уже пробовал это. Он не работает :( – kunjus

+0

Это тоже мое предположение. Он говорит, что добавляет изображение в верхней части прокрутки, но не упоминает, как он это делает. Тогда в иерархии он говорит, что изображение просматривается ниже scrollview. опубликовать ответ, не видя код первым, не так ли? – NSNoob

+0

@kunjus поделиться фрагментом кода. – NSNoob

0

Вы устанавливаете ContentSize из UIScrollView неверном по следующим направлениям:

_scrollView.contentSize = self.view.frame.size; 
_scrollView.frame = self.view.frame; 

Если он равен его собственному размеру, она не будет прокручиваться. Дайте ему размер контента, который больше этого. ли что-то подобное для тестирования:

_scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 1000); 

Кроме того, почему вы добавления _scrollView как подвид снова? Он уже добавлен в виде через xib-файл. Вы повторно добавляете фон UIImageView, а также в свой код? если да, это вызовет больше проблем для вас. Избавиться от избыточного ручного добавления subviews.

+0

ребятам, которые опубликовали нерелевантный и неправильный ответ, который был занижен для него, я просто хочу сказать, что месть downvoting действительно жалкая. Если это заставляет вас чувствовать себя лучше, это был не я, а ваш ответ. Почти смешно, что вы делаете правильный ответ, чтобы вернуться к кому-то – NSNoob

0

Ваш контент-образец scrollView должен иметь больший кадр, чем базовый фрейм scrollview, иначе он не будет прокручиваться, это означает, что вы не оставили достаточно места для прокрутки scrollView для отображения.

0

В xib необходимо указать xib ContentSize вашего ScrollView. Если вы предоставили ему ведущее пространство, конечное пространство, верхнее пространство и нижнее пространство, вы просто сказали супер взглянуть на ContentSize, поэтому вам нужно также дать ему ограничение ширины и ограничение высоты, тогда супер-представление будет знать ваши фактические Рамка; если высота или ширина больше, чем ContentSize, она будет прокручиваться.

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