以编程方式确定iPad模态视图的大小

11
我有一个iPad应用程序,它展示了一个模态视图。我想对模态视图的控件进行一些编程操作,但我找不到获取模态视图大小的方法。如果我调用View.Bounds或View.Frame,它会给我整个屏幕的边界/框架(即1024x768) - 但我知道通过自我测量,模态视图实际上大约是540x620。
虽然我知道我可以自己硬编码这个值,但这让我感到很糟糕...是否有一种编程方式可以让模态视图获得其自己的“真实”大小?
谢谢
约翰

你能否发布一下你所做的代码以便获取它? - Deepak Danduprolu
我不确定你在问什么 - 我正在尝试找出获取大小的代码,我还没有写好... - John
2个回答

12

谢谢。问题实际上是我正在尝试在ViewDidLoad方法中获取大小,而不是ViewDidAppear(这个问题总是困扰着我...)。 在ViewDidLoad中,它返回1024x768的大小,但当我将代码移到ViewDidAppear中时,它开始返回正确的(540x620)大小!


5

你尝试过设置modalPresentationStyle吗?

modalController.modalPresentationStyle = UIModalPresentationFormSheet;

接下来,您需要从modalController.view.frame中获取正确的框架大小(540 x 620)。


8
谢谢。实际上问题是我正在尝试在ViewDidLoad方法中获取大小,而不是在ViewDidAppear方法中(这总是让我困惑...)。在ViewDidLoad中,它返回1024x768的大小,但当我将代码移到ViewDidAppear中时,它开始返回正确的(540x620)大小! - John
1
@John,你的评论让我意识到为什么我经常在获取和设置视图大小方面遇到问题。我想这些信息可能在苹果文档中也有写明。无论如何,我认为你应该创建一个答案(因为那就是它的实质),而不是写一个评论。 - lgdev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接