Вам необходимо включить взаимодействие с пользователем для вашей метки, а затем переопределить метод - (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
для обработки касания.
Чтобы включить взаимодействие с пользователем, установите следующее свойство на вашей UILabel:
urlLabel.userInteractionEnabled = YES;
Пример touchedEnded: WihEvent: в вашем UIViewController:
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch * touch;
CGPoint currPt;
if ((touches = [event touchesForView:urlLabel]))
{
touch = [touches anyObject];
currPt = [touch locationInView:self.view];
if ( (currPt.x >= urlLabel.frame.origin.x) &&
(currPt.y >= urlLabel.frame.origin.y) &&
(currPt.x <= (urlLabel.frame.origin.x + urlLabel.frame.size.width)) &&
(currPt.y <= (urlLabel.frame.origin.y + urlLabel.frame.size.height)) )
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlLabel.text]];
return;
};
};
return;
}