У меня есть две путаницы в отношении ScrollView. Один из них - мой главный вопрос, другой - вторичная путаница.
1. Что именно contentOffse t & contentInset ScrollView. Я приведу более подробную информацию ниже.
2.I создаю ScrollView, но похоже, что scrollView не может катиться в любом направлении. Проблема с смещением? или вставка?. Я дам больше Подробности ниже
Подробности для вопроса 1:
Некоторое время contentOffset свойство и contentInset свойство кажутся большой разницей, но когда я пытаюсь реализовать некоторые функции, относящиеся к этим двум свойствам, я начинаю запутываться. И я делаю здесь простую иллюстрацию. Можете ли вы помочь мне понять, какая часть смещена, а какая часть - вставка: D
Подробности для вопроса 2:
Я использую следующую функцию для добавления ScrollView
func addScrollView(){
// assign a new ScrollView to "scroll" class member
scroll = UIScrollView(frame: CGRectZero)
scroll!.translatesAutoresizingMaskIntoConstraints = false
// change it to gray color to help recognising
scroll!.backgroundColor = UIColor.grayColor()
self.view.addSubview(scroll!)
//add some constraints,[you can neglect following part]
let x = NSLayoutConstraint(item: scroll!, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.CenterX, multiplier: 1, constant: 0)
self.view.addConstraint(x)
let y = NSLayoutConstraint(item: scroll!, attribute: NSLayoutAttribute.CenterY, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.CenterY, multiplier: 1/2, constant: 25)
self.view.addConstraint(y)
let left = NSLayoutConstraint(item: scroll!, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.LeadingMargin, multiplier: 1, constant: 10)
self.view.addConstraint(left)
let upperSpacing = NSLayoutConstraint(item: scroll!, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Top, multiplier: 1, constant: 50)
self.view.addConstraint(upperSpacing)
let w = NSLayoutConstraint(item: scroll!, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.GreaterThanOrEqual, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 0, constant: 10)
self.view.addConstraint(w)
let h = NSLayoutConstraint(item: scroll!, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: scroll!, attribute: NSLayoutAttribute.Width, multiplier: 1, constant: 0)
self.view.addConstraint(h)
print("add scroll view Successed")
}
И он не умеет катиться. Он может содержать только несколько вещей (Buttons или TextFields...), чтобы заполнить его размер, а не помещать больше вещей в места, где мы не можем видеть.
Так возникают проблемы с установкой и установкой? Как я могу это исправить? И если я это сделаю, как я могу добавить вещи (кнопки...) к не показанным местам программно?
Надеюсь, вы скажете мне кое-что! С моей бесконечной ценностью! (Я имею в виду, действительно! Я блокирую себя здесь целыми днями!!!)