代码库> 图文混排> NudeIn 全新的富文本工具
NudeIn 全新的富文本工具
关注
查看次数:1013 下载次数:79
上传时间:2018-09-25 大小:36 B
NudeIn 是一个基于 UITextView ,书写风格类似于 masonry 的 iOS 端富文本控件,它采用优雅的声明式(链式)方法定义富文本控件,和编程式的不同,它所需的代码量相当短,且非常直观易用。

与此同时,NudeIn 不止于此,它会是一款非常灵性的富文本控件,它会将减少代码冗余提高到极致。比如考虑到一点,富文本里可能会有多于 2 个的风格一致的富文本,也有可能仅仅只是风格部分一致的富文本,比如字体大小不一样,比如颜色不一样。这样的代码如果按照常规去写,可能会出现大量相同的代码段。为了解决这个问题,NudeIn 引入了 模板 ,你可以轻松声明一个模板,应用到任何需要它的组件上,而每个组件甚至可以声明属于自己的属性来覆盖模板上的属性,以达到部分一致的效果。这就是 NudeIn 非常灵活的地方。

相比其他第三方富文本库,NudeIn 将是最符合人类思维方式的,使用它将不会花费你太多的学习成本。如果你有 masonry 经验,你将几乎没有学习成本,如果你没有,也无需担心,它看起来就像是为你的思维方式精心打造的一般,只需稍微看看例子,就可以完全学会使用方法。

NudeIn 的用法非常简单明了,这里给出一个非常简单的例子,相信你会被这样的用法惊艳到,一旦用起来就会爱不释手:

1、引入控件

#import "NudeIn.h"
2、声明控件为你的成员变量

@property (nonatomic,strong) NudeIn *attrLabel;
3、Do it yourself

_attrLabel = [NudeIn make:^(NUDTextMaker *make) {
make.text(@"this is a ").font(14).color([UIColor blackColor]).attach();
make.text(@"BlueLink").font(17).color([UIColor blueColor]).link(self,@selector(linkHandler:)).attach();
make.text(@", and this is a ").font(14).color([UIColor blackColor]).attach();
make.text(@"RedLink").font(17).color([UIColor redColor]).link(self,@selector(linkHandler:)).attach();
}];
3、对声明了 link 属性的部分定义回调

- (void)linkHandler:(NUDAction *)action {

if ([action isKindOfClass:[NUDLinkAction class]]) {

NUDLinkAction *linkAction = (NUDLinkAction *)action;

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:linkAction.string message:nil preferredStyle:UIAlertControllerStyleAlert];

[alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
}]];

[self presentViewController:alertController animated:YES completion:nil];

}

}
收藏
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0
提示
sina weixin mail 回到顶部