
問(wèn)題.png
問(wèn)題分析: 由于在Storyboard中布局時(shí), 選擇是特定機(jī)型進(jìn)行的布局, 所以在加載時(shí)如果加載到與storyboard中的機(jī)型不一致的手機(jī)上會(huì)出現(xiàn)frame異常的情況(可以在scrollView所在的vc的viewDidLoad方法中打印一下scrollView的frame)
解決方案: 在viewDidLayoutSubviews方法中重置一下 view 的frame
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let width = UIScreen.main.bounds.width
let height = scrollView.bounds.height
scrollView.contentSize = CGSize(width: width * 3, height: height)
let subs = scrollView.subviews
for (i, view) in subs.enumerated() {
view.frame = CGRect(x: CGFloat(i) * width, y: 0, width: width, height: height)
}
}