我有一個UIViewController,縱向配有iPad xib。當我的iPad處於橫向模式時,我將該視圖控制器放入我的UISplitViewController的詳細信息窗格中,它會自動調整大小以適合哪種方式。當縱向xib調整爲橫向時,需要更改UIScrollView contentSize
但是,當我在-viewDidLoad中配置我的視圖時,視圖的最終大小尚未處於橫向/大小。
當我已經在橫向加載UIViewController時,-didRotateFromInterfaceOrientation:方法和與它關聯的其他方法不會被調用,所以何時何地能夠正確設置滾動視圖的contentSize和它的內容?
我只希望我的滾動視圖垂直滾動,所以我想確保我的滾動視圖裏面內容查看重新適合於它在任何方向的視圖控制器的寬度。
不管我檢查的是什麼.frame或.bounds,是否在我的視圖,我的滾動視圖,甚至是我的SplitViewController的詳細視圖控制器都顯示了我的實際大小。在橫向使用UISplitViewController時,左側寬度爲320px,這意味着右側不應超過704px寬,但每當我檢查幀和邊界以及我的視圖和滾動視圖邊界時,它們報告爲768px寬這是不正確的。
我的滾動視圖清晰只有704px寬,因爲我可以正確看到滾動指示。
我錯過了什麼?
這是我在-viewDidLoad代碼......所有的
CGSize textSize = [self.purchase.textDescription sizeWithFont:self.labelTextDescription.font constrainedToSize:allowedSize lineBreakMode:UILineBreakModeWordWrap];
CGRect textFrame = self.labelTextDescription.frame;
textFrame.size.height = textSize.height;
self.labelTextDescription.frame = textFrame;
CGRect contentFrame = self.contentView.frame;
contentFrame.size.height += textSize.height;
if (contentFrame.size.width > self.scrollView.frame.size.width) {
contentFrame.size.width = self.scrollView.frame.size.width;
}
self.contentView.frame = contentFrame;
[self.scrollView addSubview:self.contentView];
self.scrollView.contentSize = self.contentView.frame.size;
你能發佈你設置內容大小的代碼嗎?它在viewDidLoad中嗎? – atxe
是的,在viewDidLoad中我添加了代碼。 –
旋轉時,您的UIScrollView的內容大小真的在變化嗎?內容是不是相同和相同的大小? – atxe