есть ли MouseChildren для теста на удар CALayer? - PullRequest
0 голосов
/ 16 марта 2011

Эй. у меня есть основной слой, который содержит 4 слоя круга, а внутри каждого круга есть слой текста:

основной слой -> (4) круговой слой -> (1) textLayer.

Я выполняю тест на попадание в основной слой и хочу получить круг, по которому щелкнули. Это работает нормально, но когда я нажимаю на текстовую область, я получаю текстовый слой, а не слой круга.

В AS3 у вас есть

 MouseChildren = true/false.

Как я могу получить эту функциональность в цели c?

спасибо

Шани

1 Ответ

1 голос
/ 16 марта 2011

Просто используйте свойство superlayer, например:

if([theLayer isKindOfClass:[CATextLayer class]])
    theLayer = theLayer.superlayer;

Другими словами, если у вас уже есть слой круга, theLayer не изменится;если это один из текстовых подслоев, theLayer изменится, чтобы указать на слой, который содержит этот подслой.

...