gpt4 book ai didi

ios - 来自类文件的可拖动图像

转载 作者:行者123 更新时间:2023-11-28 22:33:31 25 4
gpt4 key购买 nike

我了解如何制作可拖动的图像,但我无法将类文件中的图像从我的主 ViewController.m 文件中拖动。我的类(class)叫做“炸弹”。每两秒,一个新的炸弹被创建,并带有一个 bombImage(炸弹的对象)。炸弹被添加到一个 NSMutableArray (bombArray)。

- (void) newBomb
{
bomb *bomb1 = [[bomb alloc] init];
[bombArray addObject: bomb1];
[bomb1 displayBombOnView:self.view]; //displayBombOnView just makes a new bomb in a random location
}

我试图做到这一点,以便用户可以拖动每个“炸弹”。

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event : (bomb *) bomb
{
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
bomb->bombImage.center = location;
}

-(void) touchesMoved:(NSSet*)touches withEvent:(UIEvent *)event
{
bomb *tempBomb = [[bomb alloc] init];
arrayCount = [bombArray count];
for (int k = 0; k<arrayCount; k++)
{
tempBomb = [bombArray objectAtIndex:k];
CGPoint tappedPt = [[touches anyObject] locationInView: self];
int xPos = tappedPt.x;
int yPos = tappedPt.y;
if ((xPos >= tempBomb->bombImage.center.x - 25 && xPos <= tempBomb->bombImage.center.x + 25) && (yPos >= tempBomb->bombImage.center.y - 25 && xPos <= tempBomb->bombImage.center.y + 25))
{
[self touchesBegan:touches withEvent:event : [bombArray objectAtIndex:k]];
break;
}
}
}

它构建了,但是当我尝试拖动图像时,它崩溃了,提示 Thread 1: signal SIGABRT。任何帮助将不胜感激。

最佳答案

使用 UIPanGestureRecognizer 代替您正在做的事情。在创建每个炸弹 ImageView 时添加一个识别器,然后当手势识别器调用您的操作方法时,您可以直接访问 View 并使用识别器位置移动 View 。

关于ios - 来自类文件的可拖动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16761485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com