O.k
Я нашел решение, которое прекрасно работает для меня.
Я использую UIWebView в качестве представления текста, а затем добавляю текст в формате HTML.
таким образом я могу использовать CSS для лучшего форматирования текста и даже пометить часть текста как ссылку, в примере я хочу, чтобы слово «согласный» появилось как ссылка
(Другим большим преимуществом является то, что я могу добавить поддержку RTL томится).
UIWebView *webView =[[UIWebView alloc] initWithFrame:imgViewRect];
webView.backgroundColor = [UIColor clearColor];
webView.opaque=NO;
webView.delegate=self;
NSString *localizedPath = [NSString stringWithFormat:@"rt%@",pcard.card_number];
NSString *localizedString = NSLocalizedString(localizedPath,@"");
NSString *cssPath = [[NSBundle mainBundle] pathForResource:@"style" ofType:@"css"];
//do base url for css
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSString *html =[NSString stringWithFormat:@"<a href=\"consonant\"><dfn>consonant</dfn></a>",
currentLanguage,dir,cssPath,langClass,localizedString];
NSLog(@"%@",html);
[webView loadHTMLString:html baseURL:baseURL];
[self addSubview:webView];
затем я использую эту функцию, чтобы распознать, какое слово щелкает, и пообедать в UIView со словарем текста:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request
navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSURL *URL = [request URL];
NSLog(@"%@",[URL lastPathComponent]); //thats gives me the name of the clicked word.
//here you can set any function that you like.
//using the data from the url path.
}
return YES;
}
надеюсь, это кому-нибудь поможет.
Шани