Как мигать сенсорной областью в iPhone UILabel? - PullRequest
0 голосов
/ 15 октября 2011

У меня есть UILabel. Я хочу засветить область касания в этом. То есть, когда я нажимаю на точку в этой UILabel, небольшая круглая часть вокруг точки касания должна иметь эффект свечения. Как можно получить это?

Ответы [ 3 ]

0 голосов
/ 15 октября 2011

Ну, вы можете сделать это, создав CALayer или CAGradientLayer в зависимости от того, как вы хотите ваше свечение, и добавьте его в качестве подслоя к слою метки в месте касания.

Длявключив касание UILabel, посмотрите на свойство userInteractionEnabled.Вам нужно будет установить его на YES.

Затем вам нужно будет прикрепить UITapGestureRecognizer к этикетке для получения крана.Как только у вас будет сенсорное местоположение, добавьте пользовательский слой свечения как подпредставление к слою метки в невидимом состоянии.Анимируйте слой свечения внутри и снаружи.Возможно, вы захотите повторить несколько раз, прежде чем удалять слой свечения в качестве подслоя по завершении.

0 голосов
/ 15 октября 2011

Распознаватели жестов хороши, но если вы хотите сделать что-то, что начинается, когда палец касается, останавливается, когда палец перестает касаться, и перемещается с пальцем между ними, тогда трудно придумать хороший распознаватель жестов для этого.,Я думаю, что в этом случае вам было бы лучше просто использовать touchesBegan, touchesMoved и touchesEnded (не забудьте touchesCancelled).

Вы можете либо поместить эти методы в свой контроллер представления или подкласс UILabel.В любом случае, установите userInteractionEnabled = YES на метке.

Что касается графического создания этого эффекта, у меня пока нет на это умных идей.

0 голосов
/ 15 октября 2011

UILabels не реагирует на прикосновения.

Используйте кнопку UIB с пользовательским типом и предоставляйте изображения для нормального состояния и (светящегося) выделенного состояния.

...