我从一个plist中拉出一个文本并将其绘制成一个UIView。 该文本包含我想要突出显示的术语和启用了用户交互,因此我可以使用teem说明弹出字典视图。
我知道如何在字符串上找到它们的位置,并且工作正常。 但我没有找到如何使它们以不同的颜色出现。 对我来说更重要的是 - 如何为他们添加点击识别器。
我将不胜感激任何帮助。
由于 沙尼
答案 0 :(得分:0)
在UIView中出现单词前面添加一个字体和文本相同的透明按钮。如果你愿意的话,我有一个可以用UILabel做的课程吗?它产生的效果与Facebook应用程序相同。
答案 1 :(得分:0)
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;
}
希望它会帮助某人。
SHANI