NudeIn是一个基于UITextView ,书写风格类似于masonry的iOS端富文本控件。它采用优雅的声明式(链式)方法定义富文本控件,所需代码量相当短,且非常直观易用。NudeIn不仅仅是一个普通的富文本控件,它致力于减少代码冗余,追求极致简洁。考虑到富文本中可能会有多于2个风格一致或部分一致的文本块,NudeIn引入了模板功能。你可以轻松声明一个模板并应用到任何需要的组件上,每个组件甚至可以覆盖模板属性,达到部分一致的效果。这种灵活性,使得NudeIn显得非常人性化。

相比其他第三方富文本库,NudeIn更符合人类思维方式,使用它几乎没有学习成本。即便你没有masonry经验,也不必担心,只需稍微看看例子,就能完全掌握使用方法。NudeIn的用法非常简单明了,以下是一个简单的示例,相信你会被这种用法惊艳到,一旦用起来就会爱不释手。

  1. 引入控件

#import "NudeIn.h"

  1. 声明控件为你的成员变量

@property (nonatomic,strong) NudeIn *attrLabel;

  1. 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();

}];

  1. 定义回调

- (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];

    }

}

NudeIn的优点在于它的简洁和灵活。相比于传统的富文本处理方式,它不仅减少了重复代码,还引入了模板机制,使得风格定义更加方便。想要了解更多关于NudeIn的信息和使用方法?不妨看看这些相关的资源:富文本控件FCKEditor富文本控件ckeditor富文本控件,以及iOS富文本控件。这些资源将为你提供更全面的理解和使用指南,让你在使用NudeIn时更加得心应手。

NudeIn,将是你不可或缺的开发利器。试问,还有什么能比这更直观、更高效的吗?赶快尝试一下吧,你会发现自己从此爱不释手!