gpt4 book ai didi

cocoa-touch - 调整大小后调整 UIPopoverController 位置

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

我有一个包含 UITableViewUIPopoverController。弹出窗口在其 View Controller 的 -viewDidAppear 函数中调整大小以适应表格的内容。当弹出窗口正确调整大小时,它的箭头通常不再指向原始的 CGRect。有没有办法强制弹出窗口在调整大小后重新定位,使其箭头指向其预期目标?

编辑: 我无法在 -viewDidLoad 中设置弹出窗口的大小,因为表格 View 直到 -viewDidAppear 才会加载其数据> 被调用,结果我不知道弹出窗口应该是什么大小。此外,当单击其中一个 TableView 单元格以显示另一个 View 时,我会调整弹出窗口的大小,这也会导致箭头不再指向其预期目标。

最佳答案

我认为这可能是错误的解决方法,因为您必须重新执行定位箭头的内置行为。

我不调整 viewDidAppear 中弹出内容的大小。我在 View Controller 的 viewDidLoad 方法中设置了 contentSizeForViewInPopover 属性,例如:

- (void)viewDidLoad
{
[super viewDidLoad];

self.contentSizeForViewInPopover = CGSizeMake(320, 155); // sized for a 3-row UITableView
}

(快速警告:如果您正在开发通用应用程序,此代码将导致运行 3.1.x 及以下版本的设备出现运行时崩溃。)

您还可以在呈现之前设置弹出框 Controller 的内容大小,这应该可以解决您的问题。查看popoverContentSize属性(property)。

关于cocoa-touch - 调整大小后调整 UIPopoverController 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3670981/

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