2013-06-28 11 views

Odpowiedz

6

Uibutton ignoruje dotyk, jeśli dotkniesz go tam, gdzie nie ma alfa obrazu. Czy mogę to zmienić, aby reagować na dotyk w całym jego zakresie?

Jednym z prostych sposobów, które myślę, że nadal działa, jest ustawienie koloru tła do czegoś, co jest tylko głównie przejrzyste. Alfa, która jest bardzo mała, ale wciąż większa niż 0,1, powinna wyglądać przezroczysto, ale nadal reagować na dotknięcia.

W przeciwnym razie można zastąpić -hitTest:withEvent: tak, że zwraca TAK, nawet jeśli dotknięty obszar jest przezroczysty.

+0

Czy mogę po prostu zwrócić stałą wartość TAK dla parametru hitTest? –

+0

Prawdopodobnie chciałbyś przynajmniej sprawdzić, czy punkt znajduje się w zasięgu przycisku. – Caleb

+1

OK zrobi - dzięki. Teraz rozwiązanie problemu przejrzystości działa dobrze. Dzięki! –

7

I rzeczywiście to robić cały czas, gdzie umieścić obraz z przezroczystym tłem do UIImageView a następnie umieścić UIButton z backgroundColor zestaw do [UIColor clearColor] w górnej części obrazu. W ten sposób, szczególnie przy małych obrazach, mogę sprawić, że przycisk "niewidoczny" będzie większy i łatwiejszy do naciśnięcia dla użytkownika.