gon*_*nso 11 iphone modal-dialog modalviewcontroller
我正在尝试做一些不应该那么复杂的事情,但我无法弄明白.我有一个显示UITableView的UIViewController.我想在用户按行时显示上下文菜单.我希望这是一个带有标签和按钮的半透明视图.我可以使用AlertView,但我希望完全控制标签和按钮的格式,并希望使用Interface Builder.
所以我创建了我的小视图250x290,将alpha设置为.75并创建一个带有出口的视图控制器来处理不同的用户事件.
现在我想呈现它.如果我使用presentModalViewController两个(不希望的)事情发生1)视图覆盖所有屏幕(但状态栏).2)它是半透明的,但我看到它"背后"它不是父视图而是应用程序根视图.
我已经尝试将其添加为子视图,但没有任何反应,所以我没有做正确的事情:
RestaurantContextVC* modalViewController = [[[RestaurantContextVC alloc] initWithNibName:@"RestaurantContextView" bundle:nil] autorelease];
[self.view addSubview:modalViewController.view];
Run Code Online (Sandbox Code Playgroud)
有可能做我想要的吗?提前致谢.
Gonso
wan*_*gii 11
我编的类似的东西.我的方法包括......
不使用dismissModalViewControllerAnimated和presentModalViewController:动画.
在IB中设计定制的全尺寸视图.在其viewDidLoad消息体中,将背景颜色设置为clearColor,以使控制器未覆盖的视图上的空间是透明的.
我把UIImageView放在浮动视图的控制器下面.UIImageView包含一个photoshoped图像,它有圆角,背景设置为透明.此图像视图用作容器.
我使用CoreAnimation在模态视图样式中显示/关闭浮动视图:(FloatingViewController.m)
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view setBackgroundColor:[UIColor clearColor]];
[UIView beginAnimations:nil context:nil];
[self.view setFrame:CGRectMake(0, 480, 320, 480)];
[UIView setAnimationDuration:0.75f];
[self.view setFrame:CGRectMake(0, 0, 320, 480)];
[UIView commitAnimations];
}
Run Code Online (Sandbox Code Playgroud)