2017-06-16 87 views
0

我有一個UIScrollView的,我有一個UIView這是scroll viewsubview,該UIView有很多其他的子視圖和我加入子視圖後,動態獲取它的高度,這是我的一段代碼添加視圖滾動視圖的UIScrollView濺起頂部或底部

CGRect frameOfView = CGRectMake(0, 0,Get_Bounds.width, globalYPosition); 
self.parentProductDetailView = [[UIView alloc]initWithFrame:frameOfView]; 

我第一次初始化認爲這種方式,然後將所有子視圖後,我這樣做,

frameOfView.size.height = globalYPosition; 

[self.parentProductDetailView layoutSubviews]; 
self.parentProductDetailView.frame = frameOfView; 
[self.productDetailScrollView addSubview:self.parentProductDetailView]; 
self.productDetailScrollView.contentSize = CGSizeMake(0, self.parentProductDetailView.frame.size.height *1); 

但我的滾動視圖不能正確滾動它要麼堅持頂部或底部。

這裏globalYPosition是添加了所有subviews的高度與parentProductDetailView

+0

只是在黑暗中拍攝:您的滾動視圖上是否啓用了分頁功能?它應該被禁用。 –

+0

請添加此作爲答案我會upvote它節省了我的一天。 :) –

回答

1

總和你所用的方法似乎是正確的。無論子視圖如何,通過簡單地使用更大的內容大小和幀大小,滾動視圖就能正確滾動。

如果啓用了分頁功能,那麼滾動視圖可能會粘住一些點,這就是您的情況。如果內容視圖大於框架大小的1.5倍,則滾動視圖將捕捉到頂部/底部或左/右。如果它比較小,那麼它只會對準起始位置。

這可能是非常有用的情況下,如有一個側菜單,需要一部分屏幕,但在你的情況下,你應該簡單地禁用分頁和滾動應該工作正常。