Я новичок в iPhone SDK. Прямо сейчас я программирую CALayers, который мне очень нравится - не так дорого, как UIViews, и намного меньше кода, чем спрайты OpenGL ES.Как получить событие касания на CALayer?
У меня есть вопрос: Можно ли получить событие касания на CALayer? Я понимаю, как получить сенсорное событие на UIView с
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
, но я не могу найти где-нибудь о том, как получить сенсорное событие на объекте CALayer, например, оранжевый квадрат, плавающим в 3D-пространстве. Я отказываюсь верить, что я единственный, кому это интересно.
Я ценю любую помощь!
Примечания для ясности: 1. цикл немного неудобно, так как вы проверить есть только один штрих. Обычный способ сделать это - сделать указатель на касание, используя [касается anyObject] или [касается objectAtIndex: 0]. 2. Вместо использования convertPoint: просто передайте «nil» в locationInView: в первую очередь. Это дает местоположение касания в системе координат окна, поэтому следующая строка является избыточной. – Rab
Я знаю, что это довольно старые вопросы. Но только для тех, кому интересно. @Rab В большинстве случаев, кроме [касается объектаAtIndex: 0] NSset, который представляет собой набор касаний, не имеет селектора objectAtIndex. –
+1 Хорошая точка @ Евгений Прокошев. Возможно, кто-то может помещать события касания в NSArray, но в этом случае у нас просто есть NSSet, который неиндексирован. Спасибо за разъяснение разъяснения. :) – Rab