您好, 我有UITableView,其中包含嵌入在UIScrollView中的静态内容 所以我只是在popover中设置了大小:
- (CGSize)contentSizeForViewInPopover
{
return CGSizeMake(600, 670);
}
但是,我有不同的弹出高度(见附件)。在IOS4.3中,高度比IOS5大。 我不想检查IOS版本并增加/减少高度。
请建议。
由于
答案 0 :(得分:0)
您可以根据工作台视图的高度动态计算弹出框的高度,并覆盖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
确定每个部分的高度并添加它们。
答案 1 :(得分:0)
据我所知,当使用导航控制器作为弹出式内容时,你必须
在根控制器(或任何显示为第一个控制器的人)上设置contentSizeForViewInPopover
。 (不要试图在导航控制器上设置尺寸。)
无论何时推送/弹出控制器,并且希望更改堆栈上新控制器的弹出框大小,请显式调用setPopoverContentSize:animated:
。 UINavigationControllerDelegate
对此有好处。