2012-12-05 3 views
1

OHAttributedLabel에 sitename.com/abc.html 과 같은 링크를 표시해야합니다. 그리고 나는이 URL에 대해 다음과 같은 URL을 설정하려고합니다 : userlink : sitename.com/abc.htmlOHAttributedLabel : URL 용 setLink

그런 다음 레이블에있는 링크를 클릭하고 UIWebView 대리인에 대한 두 번 클릭 작업을 URL과 함께 수행하고 다른 하나는 URL ....

난 그냥 필요 한 번의 클릭으로 작용

내가 무엇을 할 것인가?

업데이트 :

////seeingUrlString = @"sitename.com/abc.html"; 
[_tmpContentAttributeString setLink:[NSURL URLWithString:seeingUrlString] range:hyperLinkRange]; 

    self.contentLabel.attributedText = _tmpContentAttributeString; 


-(BOOL)attributedLabel:(OHAttributedLabel *)attributedLabel shouldFollowLink:(NSTextCheckingResult *)linkInfo 
{ 

    CustomWebView *_customWebViewa = [[CustomWebView alloc] init]; 
    _customWebViewa.webView.scrollView.scrollEnabled = NO; 
    _customWebViewa.webView.scrollView.bounces = NO; 
    _customWebViewa.webView.frame = self.view.bounds; 

    NSString *_url = [linkInfo.URL absoluteString]; 
    if (![_url hasPrefix:HTTPPrefix]) { 
     _url = [HTTPPrefix stringByAppendingString:_url]; 
    } 
    _url = [NSString stringWithFormat:@"%@%@%@", _url, Slash, NoFollow]; 
    [self loadWebView:_customWebViewa.webView url:_url]; 
    return NO; 
} 

이 클릭 작업 OHAttributedLabel 위임, 그것은

갱신 2 ...에서 내가 dnno 다른 하나에서 하나를

사실 난 그냥 표시해야 OHAttributedLabel에 링크 (예 : sitename.com/abc.html)가 있지만이 링크를 사용하지 않으면 사용자에게 클릭 가능한 링크가 표시되고 링크를 탭하면 OHAttributedLabel 대리인이 실제로 사용자 정의 lin을 실행합니다. K URL은, 사용자 정의 링크 URL과 같은 것입니다 :

userlink : sitename.com/abc.html

내가 OAHAtrributedLabel 반환 NO의 대리자 메서드에서 일반 문자열

답변

0

으로 표시 URL을 치료 OAHAtrributedLabel합니다.

-(BOOL)attributedLabel:(OHAttributedLabel*)attributedLabel shouldFollowLink:(NSTextCheckingResult*)linkInfo{ 
    <Do your work here> 
    return NO; 
} 

편집 난 당신의 코드를 실행할 수 없습니다. 그래서 내가 함께 작업 한 코드를 게시하고 있습니다.

//forgotPasswordlabel is my OHAttributedLabel 

self.forgotPasswordlabel.text = [[NSString localizedStringForKey:@"forgot_password"] uppercaseString]; 
self.forgotPasswordlabel.delegate = self; 
    NSRegularExpression* userRegex = [NSRegularExpression regularExpressionWithPattern:[[NSString localizedStringForKey:@"forgot_password"] uppercaseString] options:0 error:nil]; 
    [userRegex enumerateMatchesInString:self.forgotPasswordlabel.text options:0 range:NSMakeRange(0,self.forgotPasswordlabel.text.length) 
          usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop) 
    { 
     // FORGOT_PASSWORD_URL is mu URL which I'm opening in my WebView 
     [self.forgotPasswordlabel addCustomLink:[NSURL URLWithString:FORGOT_PASSWORD_URL] inRange:match.range]; // add it 
    }]; 

위임 방법

-(BOOL)attributedLabel:(OHAttributedLabel*)attributedLabel shouldFollowLink:(NSTextCheckingResult*)linkInfo{ 
    [self forgetPassword:nil]; // here I handle password reset action 
    return NO; 
} 

희의

은 NO 빠른 회신

+0

덕분에, 내가 돌아 않았다 ... enter image description here

는 희망이 도움이 내 레이블 appearnce 살펴입니다 OAHAtrributedLabel 대리자에서 하지만 여전히 OAHAtrributedLabel 대리인과 다른 하나에서 나는 do notno 액션을 클릭하십시오. –

+0

코드를 게시하면 도움이 될 것입니다. –

+0

업데이트 됨 업데이트 –