当我使用 imageNamed 方法时,它会将我应用程序中的所有其他图像重置回它们的默认位置,这是我不希望发生的。例如,我有一个带有音符图像(note.png)的音乐谱号,允许用户将其拖到谱号上的新位置。音乐谱号下方是一个图像(finger.png),显示您的手指应该放在给定乐器上的哪个位置以演奏选定的音符。因此,当用户将笔记从笔记 A 拖到笔记 B 时,我尝试使用 imageNamed 方法将手指图像从“fingerA.png”更改为“fingerB.png”。它非常适合更改手指图像,因为现在显示“fingerB.png”,但我的 note.png 被移回应用程序加载时开始的默认位置(在这种情况下,note.png 回到 noteA 和“手指B.png”
下面是一个代码片段,可让您了解我是如何执行此操作的。
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
//location.y is where the user stopped dragging the note
int yloc = location.y;
if(yloc > 40 && yloc <=80)
{
//noteImage is just the note.png that is being move on clef
noteImage.center = CGPointMake(120,60);
fingerImage.image = [UIImage imageNamed:@"fingerB.png"];
}
}
我尝试交换两行代码并先更改手指图像,然后再设置音符图像的坐标。我还尝试保存笔记图像的坐标并在以后恢复它们。我已经开始没有想法了,我希望对 Objective-C 或 Xcode 有更多了解的人对如何解决这个问题有一些智慧的话。谢谢!