UIView在底部转换当前的模态视图

时间:2010-03-11 02:22:31

标签: objective-c xcode uiviewcontroller model-view-controller

当用户点击一个按钮时,我需要显示一个UIView / UIViewController,当您在UITextField中编辑文本时,模态视图应该与键盘从底栏显示的方式一样。使用以下代码,我将其显示为弹出窗口。

[self presentModalViewController:child animated:YES];

如何让它看起来像键盘?


我看到模态视图覆盖了整个屏幕。但我真的想要一个仅覆盖屏幕一半的视图。所以,请告诉我为什么这不起作用

MyController *controller = [[MyController alloc] initWithNibName:@"MyView" bundle:nil];
CGRect frame = CGRectMake(0,44,768,264);
[controller view].frame = frame;
contoller.delegate = self;
[[self view] addSubView:[controller view]];
[controller release];

我正在尝试将子视图添加到当前视图中,并使其显示在键盘出现的位置。

2 个答案:

答案 0 :(得分:1)

检查您的child.modalTransitionStyle == UIModalTransitionStyleCoverVertical

(模型视图控制器总是覆盖整个屏幕。如果你只需要像键盘一样覆盖屏幕的一半,你需要将视图控制器的视图作为主视图的子视图,然后手动设置动画用动画块。)

答案 1 :(得分:0)

我知道这是一个老问题,但答案是使用UIActionSheet。

它不会显示视图控制器,但您可以显示仅覆盖屏幕一部分的自定义视图。

查看此问题以获取更多信息

Add UIPickerView & a Button in Action sheet - How?