我正在開發一個應用程序,以便從遠程Web服務(如Twitter)接收消息。有時這些消息包含URL:s,我想讓這些可點擊。我想知道哪種方法最好。我已經嘗試過NSLinkAttributeName,但它不適用於iOS。是否有可能創建一個透明的按鈕,並將其放置在textview的正確位置上方?我怎麼能這樣做?還是有更好/更簡單的方法?網址的位置和長度可能會有所不同。NSMutableAttributedString中的可點擊網址iOS6
回答
還有的要對這個兩個好辦法:
1 CoreText,或者更確切地說,一個包裝圍繞它喜歡TTTAtributedLabel
這是最強大的解決方案。它支持Datadetectortypes(儘管你最好在顯示它之前自己檢測性能),它比較流行。
但它可能會影響你的tableview的滾動性能取決於你的使用情況。
2.動態放置按鈕上方的標籤就像IFTweetLabel
這是最簡單的辦法。 IFTweetLabel基本上是UILabel的一個插件,它的表現非常出色。但是,如果您想要對其進行過多定製,您最終會遇到其限制。更何況它不能完美地表現出完美的表現。因人而異。
一個選項是使用UIDataDetectorTypeLink
。勾選此link for more details.
// Create textview, centering horizontally
UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(0, 10, 320, 50)];
// Set font, background and alignment
[textView setFont:[UIFont boldSystemFontOfSize:16]];
[textView setBackgroundColor:[UIColor blackColor]];
[textView setTextAlignment:UITextAlignmentCenter];
// Unfortunately the link will show as blue even with this setting
// [textView setTextColor:[UIColor greenColor]];
// Edit and scrolling off
[textView setEditable:NO];
[textView setScrollEnabled:NO];
// Set data type to specify URL/link
[textView setDataDetectorTypes:UIDataDetectorTypeLink];
// Set text as URL
[textView setText:@"text.com"];
[self.view addSubview:textView];
一些其他選項UIWebview
與委託來處理在它的URL聯繫。而另一種選擇是fancy UILabels
對於你問的其他問題,請在此How to open a UITextView URL in UI Web View?,Is there a way to create custom UIDataDetectorTypes?和Change color of UITextView links with a filter?
謝謝,UIDataDetectorTypeLink似乎對聯繫工作。但我想知道是否有可能改變鏈接的外觀,或者更具體地說是改變顏色。還改變,所以它打開一個自定義UIWebView而不是Safari?是它 - 通過繼承UITextView - 可以創建自定義的UIDataDetectorTypes,比如@mentions和#hashtags。 – Anders
檢查本作,http://stackoverflow.com/questions/1555294/how-to-open-a-uitextview-url-in-ui-web-view,http://stackoverflow.com/questions/2358343/is -there-a-way-to-create-custom-uidatadetectortypes,以及用過濾器更改UITextView鏈接的顏色? ..我用這些鏈接更新了我的答案。 – iDev
- 1. 使部分NSMutableAttributedString可點擊
- 2. 可點擊網站網址
- 3. 術語「點擊網址」和「點擊網址」可以互換嗎?
- 4. TinyMCE - 使網址可點擊
- 5. 將可點擊網址
- 6. listview項目中可點擊的網址
- 7. TextView中的可點擊網址
- 8. 空div和可點擊的網址
- 9. 將文本網址轉換爲可點擊的網址
- 10. 在Django中無法點擊的網址
- 11. 將點擊事件添加到IOS NSMutableAttributedString
- 12. 從asp.net中的sql server獲取的網址不可點擊?
- 13. 我如何在NSTableView中創建可點擊的網址
- 14. facebook社交插件中的可點擊網址
- 15. NSMutableAttributedString中可能的錯誤
- 16. 點擊更改網址到以前的網址
- 17. JavaScript可點擊的網格
- 18. C#可點擊的網格
- 19. jQuery - 點擊iFrame的顯示網址
- 20. 鏈接點擊後隱藏的網址
- 21. 如何捕獲點擊的網址?
- 22. 從被點擊的網址獲取ID
- 23. smtp Python發送郵件的內容,使網址不可點擊
- 24. 製作可點擊的網址子字符串
- 25. 將網址轉換爲可點擊的鏈接 - domain.com/foo/bar
- 26. 如何製作網址/電話可點擊的UILabel?
- 27. 什麼開羅功能產生可點擊的網址
- 28. 文本轉換網址鏈接到可點擊的鏈接
- 29. 使可點擊的網址從數據庫收集
- 30. Facebook共享'可點擊的'網址鏈接問題
謝謝,決定去TTTAtributedLabel。 – Anders