所以這裏是我的問題,我有一個滾動視圖包含一些與該佈局相關的動態內容的子視圖。我想設置滾動視圖的內容精確的是子視圖的大小的總和。有沒有更好的方式來獲取內容
一句話rootview-> scrollview->一些子視圖與動態內容(比方說,一個mulitilines的UILabel)
所以這裏是我做過什麼:根據viewDidLayoutSubviews文檔
,這種方法是調用並不表示視圖子視圖的各個佈局已被調整。每個子視圖負責調整其自己的佈局。
所以,當這種方法發生時,我的UILabel沒有佈局。
然後在viewdidappear中我設置了contentSize,但是一個新問題是當我們切換到橫向時這個問題沒有激活,所以我在viewDidLayoutSubview和viewdidappear中都進行了設置。
我的問題是 1.有沒有更好的方法來做到這一點? 2.在哪裏正是當下根視圖的子視圖完成他們的subviewlayout,以及如何進入呢?
我使用ios7自動佈局和約束(子類似乎有點重),我已經試過setviewNeedLayout並且在viewwilllayoutsubviews中沒有任何工作。切換方向
這裏的時候
,並把在viewdidlayoutsubviews layoutifneeded會崩潰是一些代碼:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self adjustScrollViewContentSize];
}
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
[self adjustScrollViewContentSize];
}
- (void)adjustScrollViewContentSize
{
UIView *bottomUIView = [self getBottomUIView];
CGRect superRect = [bottomUIView convertRect:bottomUIView.bounds toView:self.scrollView];
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width, superRect.origin.y + superRect.size.height);
}
我覺得這對我沒有用,我希望我的子視圖在scrollview的相對位置沒有相對於屏幕移動。 I – chliul