Iphone中的setHidden无法正常工作

时间:2011-06-27 11:20:59

标签: iphone

我将对象放在屏幕中间并从左到右移动对象。(10个对象)。如果触摸了对象并且我将其视为不可见(setHidden),但仍然会在对象的末尾移动和碰撞对象。将对象使用什么方法使其不可见并将对象停在同一位置。

我使用了以下方法 1.setHidden 2. removeFromSuperview

但仍然无法正常工作。 Plz帮助

示例代码:

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    for(int i = 0; i < no_images; i++)
    {
        img_arrows = [arr_Container objectAtIndex:i];

        UITouch *touch = [[event allTouches]anyObject];

        if([touch view]== img_arrows)
        {
            tag2 = [img_arrows tag];
            //  printf("tag in touch method----->>>>%d\n",tag2);

            switch(tag2)
            {
                case 0:
                    if(y_axis[i] >=190 && y_axis[i] <=214)
                    {
                        if(x_start_arrows > x_end)
                        {   
                            [img_good setHidden:NO];                    
                            [img_arrows setHidden:YES];

                        }
                    }
            }
        }
}

2 个答案:

答案 0 :(得分:3)

This answer解释说,在动画完成之前,移动按钮实际上不会移动。如果您希望它们设置动画并完美响应触摸,您将需要使用Quartz 2D或NSTimer来移动按钮。有关详细信息,请参阅this question

答案 1 :(得分:0)

您可以使用setAlpha来显示/隐藏img_good和img_arrows,而不是使用setHidden。