有没有可能检测链接文本的CGRect或位置的CGPoint,在TTTAttributedLabel中显示点击链接的弹出窗口(在ipad上)?我需要显示与TTTAttributedLabel点击链接弹出窗口。
谢谢!
发布于 2013-04-27 02:15:11
您只能通过修改TTTAttributedLabel来支持此行为。
1)修改委托方法:
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithURL:(NSURL *)url
atPoint:(CGPoint)point;2)在委托源码中,修改touchesEnded:withEvent:,抓取接触点,并将其传递给TTTAttributedLabel.m方法。
switch (result.resultType) {
case NSTextCheckingTypeLink:
if ([self.delegate respondsToSelector:@selector(attributedLabel:didSelectLinkWithURL:atPoint:)]) {
UITouch *touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:self];
[self.delegate attributedLabel:self didSelectLinkWithURL:result.URL atPoint:touchPoint];
return;3)在视图控制器中,您需要将触摸点转换为与视图控制器的视图相对的坐标:
#pragma mark TTTAttributedLabelDelegate
- (void)attributedLabel:(TTTAttributedLabel *)label
didSelectLinkWithURL:(NSURL *)url
atPoint:(CGPoint)point
{
CGPoint normalizedPoint = [self convertPoint:point fromView:label];
UIActionSheet *actionSheet = [[UIActionSheet alloc] ...
[actionSheet showFromRect:CGRectMake(normalizedPoint.x, normalizedPoint.y-kSensibleOffset, 10, 10)
inView:label
animated:YES];
}
#pragma mark -发布于 2012-12-25 07:11:46
您不希望通过尝试跟踪位置来在手势级别执行此操作。因为你有一个链接,所以只要覆盖openURL,并在拦截链接点击时做任何你想做的事情。更多细节请访问here。
https://stackoverflow.com/questions/14022175
复制相似问题