TTTAttributedLabel を使用して、ラベルの一部にリンクを追加しています。Web URL ではなく、セレクター (同じファイル内のメソッド) を呼び出すリンクが必要です。
それは可能ですか、そしてどのように??
私がする必要があったのは、 : ... メソッドのdelegate
メソッドに動作を追加することだけでした。TTTAttributedLabel
didSelectLink
UILabel
TTTAttributedLabel の代わりに使用しました。このコードでも動作する可能性があります。
[label addGestureRecognizer:singleTap];
[label setText:@"hello world i love iphone"];
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:self.view];
CGRect rect = label.frame;
CGRect newRect = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width/2, rect.size.height);
CGRect newRect2 = CGRectMake(rect.origin.x+rect.size.width/2, rect.origin.y, rect.size.width/2, rect.size.height);
if (CGRectContainsPoint(newRect, touchPoint)) {
[self performSelector:@selector(printMessage:) withObject:@"First half of label touched"];
}
else if (CGRectContainsPoint(newRect2, touchPoint)) {
[self performSelector:@selector(printMessage:) withObject:@"Second half of label touched"];
}
}
-(void) printMessage:(NSString *)message
{
NSLog(@"%@",message);
}