2014-09-21 2 views
1

Я работаю над внедрением UIScrollView в UIContainerView, чтобы иметь несколько текстовых полей.Вложение UIScrollView в UIContainerView

Я попытался реализовать решение из этого SO answer, но не был успешным.

Оба зрения контроллера устанавливаются быть произвольной формы, как описано в ответе выше, и оба установлены, чтобы иметь высоту 920. Ниже то, что мой раскадровка выглядит следующим образом:

storyboard

Но ниже как это выглядит, когда я запустить приложение:

simulator

Я не могу прокрутить вниз мимо первых 4 текстовых полей, даже если вид прокрутки встроенный в моем взгляде контейнера имеет 8 текстовые поля. Кто-нибудь знает, как сделать эту работу? Благодаря!

EDIT

Я его частично работает, это video дал некоторые хорошие указатели. У меня есть вид контейнера, встроенный внутри прокрутки. В представлении, хранящемся в контейнере, я установил «имитируемый размер» как произвольную форму. Я сделал ширину 320 и высоту 1000, так что у меня достаточно места для всех текстовых полей.

У меня с трудом возникает момент, когда я прокручиваю вниз, я могу прокручивать только до шестого текстового поля, когда их восемь (рисунок ниже). У кого-нибудь есть предложения по устранению этого?

scrolling without all text fields

+0

вы установить делегат для scrolview? ваш контейнер находится в scrollview? – NullData

+0

@ N.A, похоже, что мой контейнер не был встроен в scrollview. Я исправил это, но все же никаких изменений в поведении. – narner

ответ

2

ли так

- (void)viewDidAppear:(BOOL)animated 
    { 
     [super viewDidAppear:animated]; 
     yourScrollView.contentSize=CGSizeMake(320,1300); 
    } 
+0

Спасибо @ N.A, это помогло; Я понял, что неправильно задал значение Y CGSizeMake. У меня есть еще одна работа, связанная с настройкой этого с помощью AutoLayout, но на данный момент это решило мою проблему! – narner

+0

Приветствую моего друга – NullData

0

Было бы полезно, чтобы увидеть конфигурацию и ваши ограничения Autolayout. Для подобных случаев, я обычно использую конфигурацию, как описано в этом видео:

http://www.youtube.com/watch?v=4oCWxHLBQ-A

+0

Привет, Карлос, у меня на самом деле был отключен автоматический макет для этого контроллера. Я просмотрю видео; знаете ли вы о других примерах кода, на которые я мог бы взглянуть? – narner

+0

Я фактически установил значение Y '[scroller setContentSize: CGSizeMake (320, 2500)];' будет меньше, чем контейнер. Таким образом, он почти работает! Просто не с авто-макетом. – narner

+0

С другой стороны, вместо Контейнера вы можете использовать статический TableView, и он автоматически прокручивается по экрану при нажатии на любом TextField, а также вы можете выбрать на клавиатуре-манипуляторе интерфейса «отключение при перетаскивании» для показа и скрытия клавиатура автоматически. – CarlosGz

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