gpt4 book ai didi

iphone - 在 uipopovercontroller 中推送新的 tableViewController 会导致弹出框调整大小

转载 作者:行者123 更新时间:2023-12-03 20:45:35 25 4
gpt4 key购买 nike

我找到了这个帖子,但它仍然没有解决我的问题。 UIPopoverController automatically resizing to max height on pushViewController

我有一个 UIPopoverController 来推送导航 Controller 。当我呈现此弹出窗口时,我将 contentSizeForPopover 设置为 340,340。效果很好。在弹出窗口中,我有一个按钮,它将新的 UITableViewController 推送到已经存在的 UIPopoverController 中(下面的 tableViewController 代码)。

UITableViewController *contentView = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
contentView.tableView.delegate = self;
contentView.tableView.dataSource = self;
[self.navigationController pushViewController:contentView animated:YES];
[contentView release];

当tableView被推送时,高度会增长到iPad的最大高度。当我按下后退按钮时,高度仍然是最大高度,并且不会返回到最初创建 UIPopoverController 时定义的 340,340 高度。有没有办法为我创建的新 tableView 再次设置此值?谢谢。

最佳答案

根据我使用 UIPopoverController 对象的经验,每当将新内容添加到弹出窗口时,弹出窗口似乎都会使用最大高度。每次更改内容时,我都会向弹出窗口 Controller 发送一条 setPopoverContentSize:animated: 消息,这当然要求我在每个可能导致弹出窗口调整大小的对象中保留对该弹出窗口 Controller 的引用。您可以在问题中的示例代码之后添加该消息发送,以防止弹出窗口调整大小,但当您从 UINavigationController 堆栈中弹出此 View 时,它仍然可能会调整大小,因此可能会发送另一条消息需要。也许弹出窗口中可能出现的每个 View Controller 都会在其 viewWillAppear: 方法中发送 setPopoverContentSize:animated: 消息。每个还将有一个对弹出 Controller 的引用。

关于iphone - 在 uipopovercontroller 中推送新的 tableViewController 会导致弹出框调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7957858/

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