如何显示未填满屏幕的视图?

时间:2011-01-14 18:21:29

标签: iphone uiview uiviewcontroller

我正在尝试在游戏中显示弹出窗口并要求玩家按下某些按钮以便他们继续操作。我想让当前视图的一部分保持可见,这样我就不需要在模式弹出窗口中重新创建它。做出决定所需的信息已在此视图中显示。我正在使用IB做大部分。我无法弄清楚(如果它甚至可能)是如何显示一个比屏幕高度更短的视图......

4 个答案:

答案 0 :(得分:1)

使用模态视图控制器无法做到这一点。而是创建/创建您的视图(不是UIViewController),根据需要调整大小并将其添加到您查看中并在完成后自行删除它。

答案 1 :(得分:1)

只需添加子视图即可。但是,它无法在IB中完成,但需要在代码中完成。

以下是子视图的简单示例:

CGRect myFrame = CGRectMake(0, 0, 300, 200); //put the size/coordinates for your view here
UIView *theSubview = [[UIView alloc] initWithFrame:myFrame];
theSubview.backgroundColor = [UIColor blackColor];
[self.view addSubview:theSubview];
[theSubview release];

答案 2 :(得分:0)

使用自定义视图子类UIView,除了您需要它之外,它是透明的。然后将其用作模态视图或仅将其置于堆栈层次结构之上。

同样来自你的问题,听起来你可能有兴趣继承UIAlertView并以这种方式创建'popup'。有关此问题的好文章可在Alert View with PromptCustom AlertView Background

找到

答案 3 :(得分:0)

我之前做过类似的事情。我所做的是在IB中创建一个视图并使背景透明。然后,我在IB中为该视图添加了一个子视图,并将其调整为所需的大小。您希望确保子视图不像背景那样透明。

然后我只是通过ModalViewController

显示它
[self presentModalViewController:customModalView animated:YES];

这很有效,您可以自定义背景。例如,如果您想要更深的叠加层(类似于表单窗口模式窗口),则可以使主视图背景变黑并将不透明度更改为25%。希望有所帮助...

相关问题