确定模态视图控制器的框架或其中相对于基本窗口的内容?

Posted

技术标签:

【中文标题】确定模态视图控制器的框架或其中相对于基本窗口的内容?【英文标题】:Determine the frame of modal view controller or content within it relative to the base window? 【发布时间】:2012-07-18 13:49:30 【问题描述】:

我有一个模态 VC,我正在屏幕上显示(在 iPad 上)——使用 UIModalPresentationFormSheet 演示样式。当键盘出现并遮盖 VC 中的某些元素时,我想调整 VC 中的某些内容的大小。

确定键盘的大小是微不足道的,但是确定模态 VC 或其中内容相对于基本窗口的精确坐标却是一项挑战。我希望:

CGRect textViewFrame    = textView.frame;    
CGRect frameWRTWindow   = [self.view convertRect:textViewFrame toView:nil]

会给我我的 textView 相对于基本窗口的大小。但是 frameWRTWindow 的值各不相同——有时给我正确的值,有时不是。

我不想对值进行硬编码,但这就是我现在所处的位置。

【问题讨论】:

【参考方案1】:

你试过了吗:

CGRect frameWRTWindow = self.superview.frame;

?

【讨论】:

以上是关于确定模态视图控制器的框架或其中相对于基本窗口的内容?的主要内容,如果未能解决你的问题,请参考以下文章

在模态视图控制器后面更改视图控制器

javascript中有几种模态框

显示模态视图时使 iPhone 状态栏消失?

MVC 4 模态窗口,局部视图和验证

不希望模态视图在键盘显示上向上移动

6框架文档和窗口