我将对象放在屏幕中间并从左到右移动对象。(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];
}
}
}
}
}
答案 0 :(得分:3)
This answer解释说,在动画完成之前,移动按钮实际上不会移动。如果您希望它们设置动画并完美响应触摸,您将需要使用Quartz 2D或NSTimer来移动按钮。有关详细信息,请参阅this question。
答案 1 :(得分:0)
您可以使用setAlpha来显示/隐藏img_good和img_arrows,而不是使用setHidden。