2012-04-18 54 views
1

在我正在編寫的應用程序中,如果用戶可以點擊UILabel,並且可以看到他們點擊哪個單詞,那麼這將是最好的選擇。無論如何,我可以做到這一點?如何在UILabel中使用該單詞

+0

我想你可以添加UIGesturesRecognize到您的UILabel。查找UIGestureRecognizer .. – Arcadian 2012-04-18 02:27:54

+0

爲什麼不直接使用'UITextfield'?它看起來像'UILabel'並且可以接受用戶點擊的文字。 – Kjuly 2012-04-18 03:21:17

+0

我並不想讓用戶能夠編輯該字段。 – 2012-04-19 01:23:03

回答

2

你可以做到這一點使用的UIWebView

使用

- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; 

和代碼整個消息然後包的鏈接

[webView.loadHTMLString:@"<a href="tap:Google">Google</a>" baseURL:nil]; 

然後在委託方法

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

你會知道你抽頭的字

if ([request.URL.scheme compare:FeverProtocolIdentifier] == NSOrderedSame) 
    {  
     NSString *word = request.URL.resourceSpecifier; 
    } 
+0

好吧,我會試試這個! – 2012-04-19 01:21:59

+0

我是我的uilabel是在tableviewcell。我怎樣才能做到這一點 – 2015-05-11 09:49:41

1

我不認爲這很容易。我可能會使用OHAttributedLabel而不是UILabel,並向OHAttributedLabel代碼添加一個方法來返回所需的信息。如果你看看OHAttributedLabel.m中的linkAtPoint方法,你可以看到你需要做什麼。我將重複這個方法,命名新characterOffsetAtPoint也許,然後返回,現有的代碼計算的行索引340

相關問題