UILabel + touchDown - PullRequest
       6

UILabel + touchDown

3 голосов
/ 11 ноября 2010

Возможно ли реализовать касание для UILabel?

Ответы [ 3 ]

5 голосов
/ 11 ноября 2010

UILabel является подклассом UIView, который сам является подклассом UIResponder; следовательно, определенно возможно сделать этикетку, которая реагирует на прикосновения. Просто создайте новый подкласс UILabel и реализуйте следующие методы:

– touchesBegan:withEvent:
– touchesMoved:withEvent:
– touchesEnded:withEvent:
– touchesCancelled:withEvent:

Итак, если вы хотите, чтобы что-то произошло, когда начались прикосновения, вы бы сделали это в -touchesBegan:withEvent:.

Если создание нового подкласса слишком сложно для вас, тогда я бы предложил сделать так, как предлагает @JustSid, и использовать UIButton для этой задачи.

5 голосов
/ 19 июня 2012

UILabel имеет userInterationEnabled, установленный по умолчанию на NO.

[label setUserInteractionEnabled:YES];
[label addGestureRecognizer:[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(touchedLabel:)]];


- (void)touchedLabel:(UIGestureRecognizer *)gesture {
NSLog(((UILabel*)gesture.view).text);
]
0 голосов
/ 11 ноября 2010

Нет, это невозможно. Но вы можете использовать UIButton с UIButtonTypeCustom в качестве типа для этой задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...