在xcode中创建无限堆栈的UIImageviews

时间:2010-08-29 22:53:57

标签: objective-c cocoa-touch

我正在尝试在我的应用程序中创建一堆UIImageViews,我可以无限期地触摸uiimageview将其移动到屏幕上并将其放在任何地方,在原始位置仍然会有UIImageview的表示,我可以去抓取另一个uiimageview移动它等等。我试图解决这个问题的方法是在IB中创建一个uiimageview,它将保留在其原始位置,每次在其上检测到触摸时,在同一位置创建一个新的uiimageview那将是可以被移动的。这是我到目前为止的代码:

-(void)dispatchTouchEvent:(UIView *)theView toPosition:(CGPoint)position
{

    switch (glyphActive) {
        case 1:
            UIImage *image = [UIImage imageNamed:@"1.png"];
            onePieceCopy = [[UIImage alloc] initWithImage:image];
            onePieceCopy.frame = CGRectMake(currentPos.x, currentPos.y, 75, 75);
            [self.view addSubview:image];
            if (CGRectContainsPoint([onePiece frame], position)) {
                onePiece.center = position;
                [self bringSubviewToFront:onePiece];
            } 
            //[onePieceCopy release];
            break;
        }
}

然而我在这一行上遇到错误:

UIImage *image = [UIImage imageNamed:@"1.png"];

表示“'UIImage'之前的预期表达”。 还有一个错误:

[self.view addSubview:image];

表示“错误:请求成员'视图'的东西不是结构或联合”

我对这一切都很陌生而且我不确定我做错了什么可以让我帮忙?

2 个答案:

答案 0 :(得分:3)

为完整起见,无法在switch语句中声明变量。如果你在switch语句之前声明UIImage,你应该没问题。

如果您需要详细信息,请查看此链接:
Why can't variables be declared in a switch statement?

答案 1 :(得分:1)

好的一件事[self.view addSubview:image]应为[theView addSubview:image]