我可以在iPhone屏幕上同时使用两个视图吗?

时间:2012-03-01 19:42:38

标签: iphone uiview uikit quartz-graphics

我想做什么:

我想让iPhone显示在上半部分,Quartz绘制的形状带有一些简单的动画。在下半部分,我想使用UIKit按钮绘制一些按钮。

基本上,上半部分的动画和形状会响应下半部分的按钮。

可以通过UISplitScreenViewController在iPad上执行此操作。但是这只是iPad,在iPhone上使用它会导致异常错误。

就代码而言,这就是我所尝试过的:

//top frame
CGRect topFrame = CGRectMake(0.0, 0.0, 320.0, 240.0);
QuartzView *board = [[QuartzView alloc] initWithFrame:topFrame];
self.view = board;


//bottom frame
CGRect bottomFrame = CGRectMake(0.0, 240.0, 320.0, 240.0);
//allocate the view
self.view = [[UIView alloc] initWithFrame:bottomFrame];

这导致后者的分配被绘制而前者被忽略并显示空白。两者都相互独立。

是否有替代实施方案可以实现这一结果?

1 个答案:

答案 0 :(得分:4)

您的viewController将具有view属性。通常(在iPhone上)该视图填满整个屏幕。您可以向该视图添加其他视图。

//top frame
CGRect topFrame = CGRectMake(0.0, 0.0, 320.0, 240.0);
QuartzView *board = [[QuartzView alloc] initWithFrame:topFrame];
[self.view addSubview:board];


//bottom frame
CGRect bottomFrame = CGRectMake(0.0, 240.0, 320.0, 240.0);
//allocate the view
UIView *bottomView = [[UIView alloc] initWithFrame:bottomFrame];
[self.view addSubview: bottomView];