新手在ipad应用程序中遇到了一个非常奇怪的情况。
我有一个基于视图的应用程序。 鉴于Viewcontroller,我添加了两个按钮来绘制形状。一个是立方体,一个是金字塔。使用openGL代码绘制形状。两种形状都有不同的视图类。
现在分别点击立方体和金字塔的按钮,应该将形状绘制到viewController的视图中。我成功绘制了立方体形状,但无法绘制金字塔形状.. !!!
尝试不同的方法后,我得出的结论是“self.view addSubView:tempView”就是问题所在。此代码适用于多维数据集按钮,但不适用于金字塔。不能解决确切的问题。
这是代码示例
按钮:
cubeButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(600, -5, 50, 50)];
[cubeButton addTarget:self action:@selector(cubeClicked:) forControlEvents:UIControlEventTouchUpInside];
[cubeButton setBackgroundImage:[UIImage imageNamed:@"square_3D.png"] forState:UIControlStateNormal];
pyramidButton = [[UIButton buttonWithType:UIButtonTypeCustom] initWithFrame:CGRectMake(700, -5, 50, 50)];
[pyramidButton addTarget:self action:@selector(piramidClicked:) forControlEvents:UIControlEventTouchUpInside];
[pyramidButton setBackgroundImage:[UIImage imageNamed:@"triangle_3D.png"] forState:UIControlStateNormal];
方法示例代码:
-(IBAction) cubeClicked:(id)sender {
UIView *cubeView = [[CubeView alloc] initWithFrame:CGRectMake(250, 60, 500, 600)];
[self.view addSubview:cubeView];
}
-(IBAction) piramidClicked:(id)sender {
UIView *pyramidView = [[pyramidView alloc] initWithFrame:CGRectMake(250, 60, 500, 600)];
[self.view pyramidView];
}
提前致谢。感谢你的帮助。
答案 0 :(得分:0)
这是piramidClicked:
函数中的拼写错误吗?如果没有,那可能就是问题:
-(IBAction)piramidClicked:(id)sender {
UIView *pyramidView = [[PyramidView alloc] initWithFrame...];
// this line probably causes a compiler warning ...
// [self.view pyramidView];
[self.view addSubview:pyramidView];
}
如果是拼写错误,我会检查以确保您在Interface Builder中正确连接。希望有所帮助。