Ошибка: запрос на членство 'location' в чем-то, не являющемся структурой или объединением - PullRequest
0 голосов
/ 28 мая 2011

Я создаю приложение, в котором при прикосновении к прыщу оно перемещается в другое место. Это код, который я поставил:

pimple.location = (320, 64); 

(я создал IBOutlet для прыщей и подключил его)

Я получаю следующую ошибку:

запрос на членство 'location' в чем-то, не являющемся структурой или объединением

Вот мой код .m:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *myTouch = [touches anyObject];

    CGPoint point = [myTouch locationInView:pimple];
    if ( CGRectContainsPoint(pimple.bounds, point) ) {
        [self checkcollision];
    }


}





-(void)checkcollision {

    label.text += 1;    
    pimple.hidden = YES;
    pimple.location = (320, 64);   //the error
    sad.hidden = NO;

    NSURL* popURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"pop" ofType:@"mp3"]];
    AudioServicesCreateSystemSoundID((CFURLRef) popURL, &popID);

    AudioServicesPlaySystemSound(popID);
}

Ответы [ 2 ]

2 голосов
/ 28 мая 2011

Предполагая, что pimple является UIImageView объектом (на основе this SO question), вы, вероятно, захотите изменить его положение, используя свойство center.

pimple.center = CGPointMake(320, 64);

или

pimple.center = (CGPoint){320, 64};
1 голос
/ 28 мая 2011

Свойство location (вероятно) имеет тип CGPoint (структура), вы не можете просто присвоить значение точки, указав два числа. Обычно вы назначаете его с помощью вспомогательной функции CGPointMake:

pimple.location = CGPointMake(320, 64);

или

CGPoint location; 
location.x = 320;
location.y = 64;
pimple.location = location;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...