Bor*_*zin 5 iphone navigationcontroller ios contentsize uipopover
我有一个带有navigationController和一堆子视图的UIPopoverController.弹出窗口的大小在它显示之前设置如下:
[self.myPopover setPopoverContentSize:CGSizeMake(320, 500)];
Run Code Online (Sandbox Code Playgroud)
这很好.弹出窗口显示调整大小.当在导航堆栈上按下另一个视图时,再次设置弹出窗口的大小 - 需要不同的高度 - 在viewWillAppear方法中:
self.contentSizeForViewInPopover = CGSizeMake(320, 700);
Run Code Online (Sandbox Code Playgroud)
这也很好.当我回到之前的视图时,大小不会改变.
我在第一个视图中的viewWillAppear中添加了相同的调用,但视图没有调整大小.
如何在视图之间导航时管理弹出框的大小调整?
我使用这个技巧:
- (CGSize)contentSizeForViewInPopover
{
return CGSizeMake(320, 200);
}
- (void) forcePopoverSize
{
CGSize currentSetSizeForPopover = self.contentSizeForViewInPopover;
CGSize fakeMomentarySize = CGSizeMake(currentSetSizeForPopover.width - 1.0f,
currentSetSizeForPopover.height - 1.0f);
self.contentSizeForViewInPopover = fakeMomentarySize;
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self forcePopoverSize];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
CGSize currentSetSizeForPopover = self.contentSizeForViewInPopover;
self.contentSizeForViewInPopover = currentSetSizeForPopover;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12023 次 |
| 最近记录: |