2015-01-19 3 views
0

Я использую UIScrollView с Autolayout изменить содержание enter code here значение Изе следующим образом:UIScrollView Размер содержания с Autolayout

  • UIView
  • ScrollView
  • UIView (contentView)

В время запуска Я добавляю UITextView & UIImageView к conentView с ограничением (сверху, снизу, слева, справа)

но contentView размер не меняется и UIScrollViewcontentSize также.

И что может быть проблемой?

ответ

0

В время выполнения я добавляю UITextView & UIImageView в conentView с ограничением (сверху, снизу, слева, справа)

Может быть, вы должны добавить ограничение (Top, Left, Height, Width), или (Верхняя, левая, правая, высота)

Если вы упорствуете (сверху, снизу, влево, вправо), ScrollView сохранит старый размер содержимого и создаст UITextView & UIImageView (высота = 0, ширина = 0) ,

0

Вот простой способ обновления размера содержимого прокрутки. Это Swift, так что вы будете нуждаться в мостовую заголовок, если вы работаете в Objective C.

extension UIScrollView { 
    func updateContentViewSize() { 
     var newHeight: CGFloat = 0 
     for view in subviews { 
      let ref = view.frame.origin.y + view.frame.height 
      if ref > newHeight { 
       newHeight = ref 
      } 
     } 
     let oldSize = contentSize 
     let newSize = CGSize(width: oldSize.width, height: newHeight + 20) 
     contentSize = newSize 
    } 
} 

Просто позвоните его на объект вашей точки зрения скроллинга всякий раз, когда вы добавляете вид ребенка на ваш взгляд прокрутки.

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