gpt4 book ai didi

iphone - 更改 contentSizeForViewInPopover on navigationController push on iOS

转载 作者:可可西里 更新时间:2023-11-01 04:36:27 24 4
gpt4 key购买 nike

我有一个带有导航 Controller 和一堆 subview 的 UIPopoverController。弹出窗口的大小是在它显示之前设置的,如下所示:

[self.myPopover setPopoverContentSize:CGSizeMake(320, 500)];

这很好用。弹出窗口以调整后的大小显示。当另一个 View 被推送到导航堆栈时,弹出窗口的大小将再次设置 - 需要不同的高度 - 在 vi​​ewWillAppear 方法中:

self.contentSizeForViewInPopover = CGSizeMake(320, 700);

这也很好用。当我返回到上一个 View 时,尺寸没有改变。

我在第一个 View 的 viewWillAppear 中添加了相同的调用,但 View 没有调整大小。

在 View 之间导航时如何调整弹出窗口的大小?

最佳答案

我使用这个技巧:

- (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;
}

关于iphone - 更改 contentSizeForViewInPopover on navigationController push on iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9717754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com