2016-11-10 3 views
0

클릭 할 때 텍스트가 민감하지 않습니다. 잠시 동안 손가락을 대고 있으면 해당 이벤트가 실행됩니다. 이를 해결할 방법이 있습니까?속성 문자열 클릭이 UITextView에 민감하지 않습니다.

+0

이것은 링크 또는 실행 가능한 항목이있는 UILabel의 기본 동작입니다. –

+0

이 사용자 지정 라이브러리 또는 구성 요소를 사용해 볼 수 있습니다. https://github.com/TTTAttributedLabel/TTTAttributedLabel –

+0

클릭 할 수있는 UILabel 또는 UILabel에서 문자열의 일부를 클릭 할 수있게 하시겠습니까? – KrishnaCA

답변

0

의견에 대한 토론에서, 나는 당신이 String clickable의 일부분을 만드는 방법을 요청했다고 믿습니다. 이를 위해 NSAttributeStringUITextView을 사용하여 문제를 해결할 수 있습니다.

NSString *myString = @"Sample string - click"; 
NSMutableAttributedString *myAttributedString = [[NSMutableAttributedString alloc] initWithString:myString]; 
[myAttributedString addAttribute:NSLinkAttributeName value:[NSURL URLWithString:@"randomString"] range:[initString rangeOfString:@"click"]]; 

UITextView *myNonEditableTextView = [[UITextView alloc] initWithFrame:CGRectMake(60, 200, [[UIScreen mainScreen] bounds].size.width - 120, 100)]; 
myNonEditableTextView.delegate = self; 
myNonEditableTextView.attributedText = myAttributedString; 
myNonEditableTextView.editable = NO; 
[self.view addSubview: myNonEditableTextView]; 

// delegate functions for UITextView 

// - For versions >= iOS 10, this delegate function should be used 
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction { 
    [self performAction]; 
    return NO; 
} 

// - For versions < iOS 10, this delegate function should be used 
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange { 
    [self performAction]; 
    return NO; 
} 

호프가 도움이 되길 바랍니다. :) 그리고 빠른 버전이 필요한지 알려주세요.

+0

답장을 보내 주셔서 감사합니다. 그러나 UILabel이 아닌 UITextView를 사용하기 때문에 제목을 변경하는 것이 유감입니다. (UILabel은 자동으로 클릭 할 수 없습니다.) – BollMose

+0

좋습니다. 내 대답은 UITextView입니다. 이 빠른 버전을 원하십니까? – KrishnaCA