To run the example project, clone the repo, and run pod install
from the Example directory first.
- iOS8 +
AMKits is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "AMKits"
基于网上最全的Emoji配置《Unicode® Emoji Charts》,结构化抓取后生成的配置文件,包括如下内容:
- Emoji表情的Unicode、ShortName、CheatCodes、Emoji肤色类型 等属性的查看
- 对各平台的支持情况,如Apple、Google、Twitter、One、FB、FBM、Samsung、Windows、Gmail、SB、DCM、KDDI等
- 总共收录2600+Emoji表情,并以2级分组归类
- 实现对
AMKEmojiMapping.json
文件的加载 - 支持对
AMKEmojiMapping.json
文件的修改 - 实现对
AMKEmojiMapping.json
配置文件的联网更新,并支持基于《emoji-ordering-rules》对全量Emoji进行排序(因Emoji的显示及查找、替换等处理是有优先级的)
/** 获取所有EmojiModel的数组 */
+ (NSArray<AMKBaseEmoji *> *)amk_emojis;
/** 获取所有已根据编号升序排序EmojiModel的数组 */
+ (NSArray<AMKBaseEmoji *> *)amk_sortedEmojisAscendingByNo;
/** 获取所有已根据编号降序排序EmojiModel的数组 */
+ (NSArray<AMKBaseEmoji *> *)amk_sortedEmojisDescendingByNo;
/** Emoji 从 Unicode 到 CheatCode 的映射表 */
+ (NSDictionary *)amk_emojiMappingOfUnicodeToCheatCodes;
/** Emoji 从 CheatCode 到 Unicode 的映射表 */
+ (NSDictionary *)amk_emojiMappingOfCheatCodesToUnicode;
/** 是否包含 Unicode-emoji */
- (BOOL)amk_containsEmojiInUnicode;
/** 是否包含 CheatCodes-emoji */
- (BOOL)amk_containsEmojiInCheatCodes;
/** 例如:将"This is a smiley face \U0001F604" 替换为 "This is a smiley face :smiley:" */
- (NSString *)amk_stringByReplacingEmojiInUnicodeWithCheatCodes;
/** 例如:将"This is a smiley face :smiley:" 替换为 "This is a smiley face \U0001F604" */
- (NSString *)amk_stringByReplacingEmojiInCheatCodesWithUnicode;
/** 将 Unicode-emoji 替换为指定字符串 */
- (NSString *)amk_stringByReplacingEmojiInUnicodeWithString:(NSString *(^)(NSString *unicode, NSString *cheatCodes, BOOL *stop))block;
/** 将 CheatCodes-emoji 替换为指定字符串 */
- (NSString *)amk_stringByReplacingEmojiInCheatCodesWithString:(NSString *(^)(NSString *cheatCodes, NSString *unicode, BOOL *stop))block;
可随意给对象添加随意多个在执行dealloc
时执行的block,可用来释放对象、移除通知
重写相关方法,使得NSArray
、NSDictionary
、NSSet
等集合类的实例在控制台输出时,能够正常的打印中文,而不是Unicode码
为外部提供的viewDidLoad
、viewWillAppear:
、viewDidAppear:
、viewWillDisappear:
、viewDidDisappear:
等生命周期的回调
添加UIViewController
切换相关扩展
支持对UIView
手势交互范围的调整
如果你有好的 idea 或 疑问,请随时提 issue 或 request。
如果你在开发过程中遇到什么问题,或对iOS开发有着自己独到的见解,都可以关注或私信我的微博 @Developer_Andy
、简书
“Stay hungry. Stay foolish.”
与君共勉~
如果你想了解开源框架的创建方法,具体可以参看我的简书《创建自己的开源框架到CocoaPods》
AMKits is available under the MIT license. See the LICENSE file for more info.