開發(fā)中我遇到這樣一個(gè)問題,我在使用storyboard中將ScrollView進(jìn)行布局后碑定,再去加載圖片慎皱,將圖片大小設(shè)置成ScrollView一樣裸扶,并將圖片加入到ScrollView中铡买,顯示圖片位置不正確
原來是布局的關(guān)系更鲁,因?yàn)樵诔跏蓟瘓D片時(shí),ScrollView還沒有開始布局奇钞,這樣得到的圖片大小還是原來的ScrollView還沒有布局時(shí)的大小澡为,而觸發(fā)布局后,ScrollView的大小改變了景埃,所以導(dǎo)致圖片大小或位置對(duì)不上經(jīng)過布局后的ScrollView
比如下面這樣,在viewDidLoad中將圖片大小設(shè)置成ScrollView一樣
func viewDidLoad() {
for (i,image) in imageViews.enumerate(){
image.frame = CGRectMake(scrollView.frame.width * CGFloat(i), 0, scrollView.frame.width, scrollView.frame.height)
}
}
解決方法:
在ViewController的添加更新image的frame,這樣保證在ScrollView布局改變時(shí)媒至,會(huì)跟著ScrollView進(jìn)行改變
override func viewDidLayoutSubviews() {
updateImagesFrame()
}
func updateImageSize() -> Void {
for (i,image) in imageViews.enumerate(){
image.frame = CGRectMake(scrollView.frame.width * CGFloat(i), 0, scrollView.frame.width, scrollView.frame.height)
}
}