Я пишу свое первое приложение с анимацией, и у меня возникают проблемы. У меня есть ViewController, который создает программно определенное количество UIView, добавленное как subviews.iPhone многопользовательская анимация подкачки
Теперь, когда я касаюсь одного из этих видов, я хотел бы переместить его в одном направлении (вверх, вправо, вниз, влево), но только если в этом направлении нет другого вида. Вопрос: как я могу обратиться к ViewController, если есть другой вид в одном направлении? Я пробовал:
// In the view controller:
+ (id)sharedInstance {
static id master = nil;
@synchronized(self)
{
if (master == nil)
master = [self new];
}
return master;
}
...
// In the UIView subclass
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[[MyViewController sharedInstance] touchesEnded:touches withEvent:event launchedBy:numero.text];
}
...
// Finally the method
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event launchedBy:(NSString *)launcher
{
CGPoint coord = [[cells objectAtIndex:[launcher intValue]] coordinate];
[NumberView beginAnimations:@"MoveAndStrech" context:nil];
[NumberView setAnimationDuration:1];
[NumberView setAnimationBeginsFromCurrentState:YES];
if([touches count] == 1) {
if (![map objectForKey:[NSString stringWithFormat:@"%d+%d",coord.x+64,coord.y]]) {
NSNumber *isAvailable = [NSNumber numberWithBool:NO];
[map setValue:isAvailable forKey:[NSString stringWithFormat:@"%d+%d",coord.x,coord.y]];
NSLog(@"Dati: %@ all'indice: %d",[cells objectAtIndex:[launcher intValue]-1], [launcher intValue]-1);
[[cells objectAtIndex:[launcher intValue]] setCenter:CGPointMake((coord.x+64)/2, coord.y)]/* = CGPointMake((coord.x+64)/2, coord.y)*/;
isAvailable = [NSNumber numberWithBool:YES];
[map setValue:isAvailable forKey:[NSString stringWithFormat:@"%d+%d",coord.x+64,coord.y]];
}
}
[NumberView commitAnimations];
}
Но NSLog (@ "дати ... дает (NULL) Как я должен делать. это?
Где находится 'cell'? – deanWombourne