任何人都知道我可以如何使IOSKE中的註釋文本中的#KEY和@NAME可點擊(例如,Instagram會這樣做)?我試圖用NSMutableAttributedString,但我不知道如何下方點擊@username應採取用戶到用戶的配置文件如何使#key和@key在IOS7中點擊
回答
看着UITextViewDelegate
protocol,在iOS7中有一個新的方法:textView:shouldInteractWithURL:inRange:
。
您沒有共享任何代碼,但可以安全地假設您有一個代表您變藍的區域的attributedString
和range
。我還假設你可以將用戶名提取到名爲username
的變量中。
使用這三條信息,您可以爲該範圍添加鏈接屬性。
[attributedString addAttribute:NSLinkAttributeName
value:[@"username://" stringByAppendingString:username]
range:range];
在您的代理,你可以做這樣的事情:
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
{
if ([URL.scheme isEqualToString:@"username"]) {
[self doSomethingWithUserName:URL.host];
return NO;
}
return YES;
}
我相信他們在WWDC 2013年
不錯的答案隊友! –
你可以看看使用DTCoreText檢測單擊事件,圖像中它提供了鏈接按鈕,你可以添加到屬性文本。它基於HTML解析,因此您需要在解析時做一些額外的工作來確定鏈接按鈕的位置。
或者,您可以在評論視圖中添加輕拍手勢識別器。當檢測到水龍頭時,您可以使用<UITextInput>
找出所點擊的文字以及是否爲「鏈接」。
您可以使用HTML鏈接,並使用UIWebView
<div> Here goes the text. <a href="https://stackoverflow.com/users/Username">@Username</a> <a href="/tags/mytag">#mytag</a>. </div>
當用戶點擊一個鏈接使其,網頁視圖的委託方法webView:shouldStartLoadWithRequest:navigationType:
被調用。在那裏你可以從請求中獲得URL並做你想做的任何事情。從此方法返回NO
很重要,否則Web視圖會嘗試加載請求。
我在其中一個應用中使用了這種方法,這是最簡單的方法,適用於大多數iOS版本(包括舊版本)。副作用是,加載速度很慢(除非在向用戶顯示之前預先渲染),並且「UIWebView」的大小如果不是全屏,則必須進行額外的調整大小。 – Raptor
- 1. AS3:Key Press點擊塔樓
- 2. 如何在XSD中使用key和keyref?
- 3. 如何區分[key]和[value]與其他[key]和[value]的父數組[key]?
- 4. MySQL KEY/UNIQUE KEY
- 5. 把手:在點符號中使用@key
- 6. 如何使用select中的數據更新「on key key」值?
- 7. 如何在C#中編寫看起來像A(key,B(key,C(key,ValFactory(key))))的遞歸函數?
- 8. Auto Key vs Set Key
- 9. Mystery Key Value Coding Key
- 10. 如何在swift中使用Key Value Observer?
- 11. PRIMARY KEY和FOREIGN KEY到我的表
- 12. 如何使用java datastore.delete(key)
- 13. jQuery.fn.autoResize和Return Key
- 14. RowGuide和UNIQUE KEY
- 15. H2和FOREIGN KEY
- 16. UNIQUE和PRIMARY KEY
- 17. StackExchange.Redis SetAdd(key,val)使用key = GUID崩潰
- 18. 使用KEY或UNIQUE KEY的決定
- 19. ReCaptcha key issue.Unable to create key
- 20. Python:「Key for Key」瞭解
- 21. Jedis Pub/Sub Key of Key
- 22. in_array($ variable ['key'],$ another ['key'])not working
- 23. ASP.NET'Session.Remove(key)'v/s'Session(key)= Nothing'
- 24. 如何在沒有UNIQUE索引或PRIMARY KEY的MySQL中使用ON DUPLICATE KEY UPDATE?
- 25. 爲什麼我們在Javascript中使用「key => key」?
- 26. <key>元素中的key()函數
- 27. 如何更新其他相關表中的PRIMARY KEY/FOREIGN KEY?
- 28. 如果key == x:
- 29. Key-Value Observing和RoboVM
- 30. Zend_Acl和Zend_Auth API key
哪裏的「標籤」顯示全世界展示這個在介紹文字套件會議?在一個應用程序?在'UITextField'中? – Raptor
嗨@ShivanRaptor它發生在應用程序中。基本上,如果用戶在他們的評論中鍵入#key,當評論被呈現時,我們想要點擊#key並獲得一些搜索結果 – nightograph
當你說評論時,它是基於Web的UIWebView?我很困惑。更好地向我們展示代碼和屏幕截圖。 – Raptor