Я использую touchesBegan и touchesMoved для перемещения UIImageView туда, где вы касаетесь экрана. Он перемещает маркер (перемещенный мной UIimageView), рисует фигуру в UIImageview и считывает график.
Однако всякий раз, когда я пытаюсь что-то сделать с этими данными, например, обновить метку, UIImageView возвращается к тому месту, где он начал, вместо того, чтобы оставаться там, где он есть.
-(void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event{
UITouch *myTouch =[[event allTouches] anyObject];
CGPoint location = [myTouch locationInView:self.view];
int x = location.x;
int y = location.y;
NSLog(@"x = %i",x);
NSLog(@"y = %i",y);
CGPoint p={x, y};
circles.center = p;
Приведенный выше код отлично работает и перемещает изображение на новое место. Однако я должен добавить что-то действительно простое, например
changeInY.text = [NSString stringWithFormat:@"Main Label"];
и UIImageView (круги) больше не находится в .center = p. Метка обновилась, и UIImageView помчался обратно к тому месту, где я сбросил его на раскадровке, прежде чем были сделаны какие-либо прикосновения. Он определенно движется, но устремляется назад. Без инструкции метки он остается на месте и завершает следующее касание.
Он даст мою позицию x и позицию y и позволит мне распечатать их в операторе NSLog, но не позволит мне обновить метку с их значениями или сделать что-либо, что не связано с этим UIImageView. Я не хочу динамически создавать UIImageView во время выполнения. Я хочу использовать этот и переместить его. Я почти уверен, что это строка circles.center = p, которую нужно изменить, но я не знаю, как сказать ей внести это изменение и остаться там.
Любая помощь будет очень кстати