Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS TTTAttributedLabel Delegate didSelectLinkWithURL not getting called

I'm having problems setting up the TTTAttributedLabel within my project.

I have set the protocol delegate in my header file

@interface TwitterFeedControlleriPad : UIViewController <TTTAttributedLabelDelegate, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateWaterfallLayout>

I have set the ViewController to it (is not nil, I checked already).

cell.tweetLabel.delegate = self;

It's showing all the links right in the label but when I tap them it's not calling the function.

- (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url

I've already used it before with success and it's exactly the same code!! It's driving me crazy!

like image 437
JuanD Avatar asked Jul 22 '13 20:07

JuanD


1 Answers

I understand it is not your case, but this is for everyone who have the same problem as I had and stumble on this thread.

I had an UITapGestureRecognizer on the same view as the TTTAttributedLabel. Because of the first one, the 'touchEnded' function of the TTTAttributedLabel wasn't called, which is responsible for handling clicked links.

I solved the problem by adding the line: tapGestureRecognizer.cancelsTouchesInView = NO;

like image 186
Joeran Avatar answered Oct 21 '22 14:10

Joeran