Zajmuję się tworzeniem gry, która zawierała pewien widok (jako grę w karty pamięci) i chcę, aby kiedy użytkownik dotknął karty, odwrócił i pokazał inny widok. Używam tego kodu:iOS - Odbij animację tylko dla określonego widoku
- (void)flipCard:(id)sender {
UIButton *btn=(UIButton *)sender;
UIView *view=[btn superview];
UIView *flipView=[[UIView alloc] initWithFrame:[view frame]];
[flipView setBackgroundColor:[UIColor blueColor]];
[[flipView layer] setCornerRadius:10];
NSLog(@"Flip card : view frame = %f, %f",view.frame.origin.x, view.frame.origin.y);
[UIView transitionFromView:view toView:flipView duration:1.0 options:UIViewAnimationOptionTransitionFlipFromLeft completion:^(BOOL finished) {
}];
}
Każdy widok ma przezroczysty przycisk, który pokrywa cały widok, więc gdy użytkownik stuknie w widok, dotknij przycisku. Przycisk wywołuje metodę powyżej przekazując nadawcę. Po uruchomieniu animacji cały widok jest odwracany, nie tylko widok otrzymuję od nadawcy. Jak mogę zrobić?
Może nie jest to bezpośrednie rozwiązanie, ale możesz ry, aby wydłużyć Uibutton dla przycisków używanych na kartach i mieć słaby wskaźnik z powrotem do widoku karty, dlatego wywołanie btn.cardView z pewnością dostarczy Ci widok karty, której potrzebujesz, jeśli superview nie działa. –