【发布时间】:2011-12-17 11:17:22
【问题描述】:
苹果说:
UIModalPresentationFormSheet 呈现的视图的宽度和高度小于屏幕的宽度和高度,并且视图在屏幕上居中。 如果设备处于横向并且键盘是可见的,则视图的位置会向上调整以使视图保持可见。所有未覆盖的区域都会变暗,以防止用户与其交互。
但是当键盘可见时,我的视图不会向上移动。我基本上想在键盘上方模态地呈现一个文本视图,以便用户可以输入文本然后点击发送(在呈现的视图上的导航栏按钮中。)
我的呈现视图是UISplitViewController(不是它的一个孩子),我正在呈现UINavigationController,他的顶视图控制器基本上是UITextView。旋转有效,但呈现的视图在两个方向上都被键盘重叠。
我发现 some questions asking 在这种情况下如何调整呈现的视图,这很好,但我不想通过在演示者或呈现的视图中手动调整大小来做出假设.似乎它应该只选择一个体面的(未记录的)大小,然后在键盘显示时自动将其向上移动。
我的演示代码如下所示:
MyViewController *vc = [[MyViewController alloc] init];
UINavigationController *nav = [[[UINavigationController alloc] initWithRootViewController:vc] autorelease];
nav.modalPresentationStyle = UIModalPresentationFormSheet;
[self.splitViewController presentModalViewController:nav animated:YES];
【问题讨论】: