我有5 UIViews
,它們包含在UIScrollView
之內。然後我將UIScrollView
的contentSize.height
設置爲10,000。根據UIScrollView的高度設置UIView的高度
如何將UIScrollView
中包含的每個視圖的高度更改爲contentSize.height
的1/5
?另外,我想提到視圖和滾動視圖都是通過Interface Builder創建的。下面是一些在視圖控制器的代碼我已經試過的:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.scrollView.layoutIfNeeded()
scrollView.contentSize.width = UIScreen.mainScreen().bounds.size.width
scrollView.contentSize.height = 10000
myView.bounds.size.height = scrollView.contentSize.height * 1/5
print(scrollView.contentSize.height)
}
此代碼將工作,並且myView
高度設置爲2000,但非常第二我滾動,認爲彈回原來的高度我在Interface Builder中設置。另外我想補充一點,當我打印scrollView的contentSize
時,它會像預期的那樣返回10,000
。
長篇故事短片:如何製作一個UIView的高度1/5的Scroll Views內容大小?
你使用自動佈局嗎? – beyowulf
@beyowulf是的,我使用自動佈局,但如果必須的話,我願意禁用它。 – Harish
使用自動佈局時,應更新約束而不設置框架/邊界。您可以將myView的高度設置爲您的scrollView的contentView的1/5,方法是選擇兩者,添加一個相同的高度約束,然後選擇該約束並在檢查器中將乘數從1更改爲0.20。 – beyowulf