Cześć wszystkim, obecnie uczę się Celu C i trochę utknąłem.
Buduję grę w tryktraka i mam podklasę „Piece”, która jest wielokrotnie inicjowana w BackGammonViewController.
Jeśli to zrobię w BackGammonViewController:
UIImage *myImage = [ UIImage imageNamed: @"white-piece.png" ];
UIImageView *myImageView = [ [ UIImageView alloc ] initWithImage: myImage ];
[self.view addSubview:myImageView];
[myImageView release];
Pojawia się obraz. Jednak chcę to zrobić w mojej klasie „sztuk”. Jak odwołać się do „self.view” z poziomu klasy sztuk? Czy muszę przekazać odniesienie do widoku do „klasy sztuk”? A może istnieje globalne odniesienie, do którego mogę zadzwonić z „klasy sztuk”?
Dzięki za pomoc.
Odpowiedzi:
2 dla odpowiedzi № 1Powinieneś unikać sięgania po takie klasy, uzyskując dostęp do widoku kontrolera z Piece
.
Zamiast tego Piece
powinna być podklasą UIView
który dodaje obraz jako widok podrzędny, gdy jest init
ed z ramką:
[self addsubview:myImageView];
Dodajesz go jako widok podrzędny do self
bo self
dziedziczy z UIView
. A zatem self
"Jest UIView
.
Następnie po prostu dodaj utwór jako widok podrzędny widoku kontrolera.