2013-11-11 2 views
0

Я разрабатываю приложение, и мне нужно отображать содержимое с помощью UITextView, который должен динамически устанавливать высоту и должен распознавать ссылку.
я использовал код, указанный выше:UItextView dynamiclly Редактор высоты и ссылки iOS 6 vs ios 7

self.textView.text = [NSString stringWithFormat:@"%@ \n %@", self.offersObjects.body, self.offersObjects.url]; 
    self.textView.dataDetectorTypes = UIDataDetectorTypeLink; 

    if (([[[UIDevice currentDevice] systemVersion] integerValue] < 7)){ 
     CGRect frame = self.textView.frame; 
     frame.size.height = self.textView.contentSize.height;contentSize.height;    
     self.textView.frame = frame; 
    }else{ 
     [self.textView sizeToFit]; 
     [self.textView layoutIfNeeded]; 
    } 

Моя проблема заключается в том, что он не признает ссылку.

ответ

1

попробуйте ниже код:

-(IBAction)txtStustes:(id)sender 
{ 
NSError *error = nil; 
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink 
          | NSTextCheckingTypePhoneNumber error:&error]; 

NSString *string = self.textView.text; 
NSArray *matches = [detector matchesInString:string options:0 range:NSMakeRange(0, [string length])]; 

for (NSTextCheckingResult *match in matches) { 
    if ([match resultType] == NSTextCheckingTypeLink) { 
     NSURL *url = [match URL]; 
     [[UIApplication sharedApplication] openURL:url]; 
    }   
} 
} 

Кроме того, добавьте ниже код в методе viewDidLoad

UITapGestureRecognizer *LblProfileNameTouch=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(txtStustes:)]; 
[LblProfileNameTouch setNumberOfTouchesRequired:1]; 
[self.textView addGestureRecognizer:LblProfileNameTouch]; 
+0

Здравствуйте, мне нужно открыть ссылку wenh пользователя нажмите на that.Your код это oky но открыт ссылку автоматически. Если положить его на метод, я не могу обнаружить, как пользователь нажимает ссылку на текстовое изображение. Я должен создать «реквизитор» для этого UItextView и после этого открыть ссылку? –

+0

да, для этого вам нужно создать метод gestureRecognizer. –

+0

Отлично! Это прекрасно! Благодаря! –

Смежные вопросы