簡體   English   中英

IOS4和IOS5中的contentSizeForViewInPopover不同的高度

[英]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確定每個部分的高度並將它們加起來即可。

據我所知,當使用導航控制器作為彈出內容時,您必須

  1. 在根控制器(或顯示為第一個的任何人)上設置contentSizeForViewInPopover (不要嘗試在導航控制器上設置大小)。

  2. 每當您推入/彈出控制器並且希望更改堆棧上新控制器的彈出窗口大小時,請顯式調用setPopoverContentSize:animated: UINavigationControllerDelegate對此非常UINavigationControllerDelegate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM