一个类别,为 UITextView 添加了类似 Instagram 的标签选择/列表功能。
或者你可以将 "Classes" 文件夹拖到你的项目中,该项目中应已安装 ReactiveCocoa 库
导入类别
#import <AVTagTextView/UITextView+AVTagTextView.h>
将 hashTagsDelegate 属性分配给所需的代理并实现 tagsForQuery 方法
self.textView.hashTagsDelegate = self;
//...
/**
* As soon as the user enters some symbols after the last '#' sign, this method gets called.
* Entered symbols are contained in the query string. It is your responsibility to provide
* the text view with the list of the corresponding hashtags as an array of strings:
*/
- (NSArray *)tagsForQuery:(NSString *)query{
//Provide the list of the tag, you wish to display to the user:
//For example, return the tags, which start with the query string, from the predefined array:
NSPredicate *bPredicate =
[NSPredicate predicateWithFormat:@"SELF beginswith[c] %@", query];
NSArray *array = [self.tagsArray filteredArrayUsingPredicate:bPredicate];
return array;
}
包含在 UITextView 中的标签可以通过其 hashTags 属性访问
self.textView.hashTags //returns an array of strings, corresponding to the hash tags, found in the UITextView's text
默认的 UITableViewController,用于显示标签,可以被替换为你的自定义 UITableViewController 实现的视图控制器,该控制器必须符合 AVTagTableViewProtocol。查看示例 AVCustomTagTableViewController 类。
要运行示例项目;克隆仓库,然后首先从项目目录运行 pod install
。
该项目包含一个位于 Tests 文件夹中的 Kiwi spec。
Arseniy Vershinin
AVTagTextView 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。