2013-01-02 11 views

Odpowiedz

3

Jeśli definiujesz swój wielokąt jako CGPath, możesz użyć CGPathContainsPoint() ... Czy możesz powiedzieć nam więcej o swojej koncepcji aplikacji?

EDIT:

Jest też nadrzędnego UIBezierPath i/lub NSBezierPath .. oba te obiekty mają metodę -containsPoint.

+0

Dzięki. To wydaje się dokładnie to, czego szukam. Nie mogłem znaleźć takiego rozwiązania dla mojego życia. – user1941895

+0

cóż, używa się Core Graphics C API, więc nie jest to na poziomie Obj-C lub C++ ... Więc nie pojawi się w dokumentacji klasy Obj-C. – nielsbot

0

Może robisz coś niezwykłego, jakby Cię jedynie akcenty mają być wykrywane w trójkącie lub coś . Jeśli tak, możesz to zignorować. Ale ponieważ jesteś początkującym użytkownikiem iOS, polecam używanie podklasy UIControl z parami docelowymi lub UIGestureRecognizer.

Przykładowy kod byłoby:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside]; 

Później target tym - prawdopodobnie kontroler widoku, można zaimplementować metodę:

- (void)buttonPressed:(id)sender 
{ 
} 

Z rozpoznawania gestów, by dodać gest rozpoznajesz numer UIView i podobnie jak w przypadku UIControl, dodaj parę docelową:

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)]; 
[self.view addGestureRecognizer:tapRecognizer]; 

- (void)viewTapped:(UIGestureRecognizer *)recognizer 
{ 
} 

Są to typowe podejścia do podstawowej interakcji użytkownika. Będziesz miał znacznie łatwiejszy w użyciu niż przy użyciu firmy touchesBegan &, ale jeśli są one tym, czego potrzebujesz, to inni odbiorcy Cię objęli.

Powiązane problemy