2014-12-26 2 views
0

Моя задача очень проста - просто отобразите вертикально прокручивающийся текст внутри пользовательского UIView. У меня есть UIScrollView с контейнером с одним UITextView в нем. Контейнер необходим, чтобы добавить больше элементов позже. Я использую IB (XIB файл), чтобы добавить autolayout ограничения, как показано ниже:UITextView растягивается горизонтально, но не вертикально внутри UIScrollView

Screenshot

Но все, что я вижу:

Simulator

И это горизонтально прокрутки :-(

Я попытался установить contentSize UIScrollView:

  • В initWithCoder, didMoveToSuperview, willMoveToSuperview = no effect
  • В пользовательском методе, вызываемом из main viewcontroller = без прокрутки, и я вижу одно и то же изображение.

Большое спасибо!

Редактировать: Внутриристский размер текстового вида и контейнера установлен на «placeholder». Я понимаю, что я должен ограничивать ширину ContainerView, но он должен работать со всеми размерами экрана и ориентациями, поэтому настройка ширины в коде, IMO, хуже, чем установка ограничений.

ответ

1

Да! Я нашел решение!

Если кто-то сталкивается с той же проблемой:

Вы должны добавить левые и правые ограничения не UIScrollView, но надтаблицы из UIScrollView (супер-надтаблицы).

К сожалению, это не может быть сделано в IB, но вы можете сделать это в коде:

[self addConstraint:[NSLayoutConstraint constraintWithItem:self.view 
    attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual 
    toItem:self.containerView attribute:NSLayoutAttributeLeft 
    multiplier:1.0 constant:-30]]; 
[self addConstraint:[NSLayoutConstraint constraintWithItem:self.view 
    attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual 
    toItem:self.containerView attribute:NSLayoutAttributeRight 
    multiplier:1.0 constant:30]]; 

Где self.containerView вид внутри UIScrolllView и self.view вид снаружи UIScrollView

Итак:

Вы установили вертикальные ограничения на UIScrollView и горизонтальный Ограничения до вид верхнего уровня.

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