[英]contentSizeForViewInPopover different height in IOS4 and IOS5
您好,我的UITableView的UIScrollView中嵌入了靜態內容,因此我只在彈出窗口中設置了大小:
- (CGSize)contentSizeForViewInPopover
{
return CGSizeMake(600, 670);
}
但是,我的彈窗高度有所不同(請參閱附件)。 在IOS4.3中,高度大於IOS5中的高度。 我不想檢查IOS版本和增加/減少高度。
請指教。
謝謝
您可以根據表格視圖的高度並像這樣覆蓋contentSizeForViewInPopoverView
來動態計算彈出框的高度:
- (CGSize)contentSizeForViewInPopoverView {
CGFloat width = 200.0; // Currently no way to obtain the width dynamically, only height.
CGRect rect = [self.tableView rectForSection:[self.tableView numberOfSections] - 1];
CGFloat height = CGRectGetMaxY(rect);
return (CGSize){width, height};
}
假設您有1個部分。 如果有更多內容, rectForSection
需要使用rectForSection
確定每個部分的高度並將它們加起來即可。
據我所知,當使用導航控制器作為彈出內容時,您必須
在根控制器(或顯示為第一個的任何人)上設置contentSizeForViewInPopover
。 (不要嘗試在導航控制器上設置大小)。
每當您推入/彈出控制器並且希望更改堆棧上新控制器的彈出窗口大小時,請顯式調用setPopoverContentSize:animated:
UINavigationControllerDelegate
對此非常UINavigationControllerDelegate
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.