gpt4 book ai didi

ios - UIPopoverPresentationController 未显示在正确的位置

转载 作者:行者123 更新时间:2023-11-29 11:48:19 24 4
gpt4 key购买 nike

我有一个弹出窗口,其中 SourceRect 是设置按钮(带有齿轮图标的按钮)。弹出窗口位置对于除 LandscapeLeft 以外的所有设备方向都是正确的。

我从 XCode Interface builder 设置 anchor 并以编程方式设置源矩形:

var poc = segue.DestinationViewController as PVPencilOptionsController;
poc.ViewModel = this.ViewModel.ColorPicker;
var ppc = (UIPopoverPresentationController)poc.PresentationController;
ppc.SourceRect = this.PVEditIssuePhotoPencilOptionsButton.Frame;

下面是popover位置的结果:

纵向/颠倒(正确):

Portrait and upside down

横向右(正确):

Landscape Right

横向左(错)

Landscape Left

如您所见,如果设备方向为横向左,则弹出箭头和设置按钮之间有一个间隙。

如何找出这个差距从何而来?

最佳答案

我遇到过类似的问题,而我的问题都是因为我在错误的地方计算了尺寸和位置,有时还使用了错误的值。我建议您做两件事来找到您的问题:

<强>1。在 LayoutSubviews 中进行所有位置/大小计算: 在您的 Controller 中覆盖 LayoutSubviews 并在其中计算您的定位信息。在碱基调用之后。

<强>2。注销 Frame 和 Bounds 的尺寸: 这样您就可以看到您拥有的东西以及您想要它的位置。在布局 subview 之前和之后执行此操作以查看差异。

关于ios - UIPopoverPresentationController 未显示在正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42359876/

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