iPhone Modal View屏幕较小

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

我编的类似的东西.我的方法包括......

  1. 不使用dismissModalViewControllerAnimated和presentModalViewController:动画.

  2. 在IB中设计定制的全尺寸视图.在其viewDidLoad消息体中,将背景颜色设置为clearColor,以使控制器未覆盖的视图上的空间是透明的.

  3. 我把UIImageView放在浮动视图的控制器下面.UIImageView包含一个photoshoped图像,它有圆角,背景设置为透明.此图像视图用作容器.

  4. 我使用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)