• Stars
    star
    373
  • Rank 114,600 (Top 3 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created about 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simplify operation NSAttributedString, make writing easier. Attributes String Editing Factory. iOS 富文本编辑, 让代码更清晰. 文本编辑, 高度计算, 正则匹配等待... 简便操作, 让你爽到爆!

SJAttributesFactory

Objc

pod 'SJAttributesFactory'

Swift

pod 'SJAttributesStringMaker'

use in swift:

    let text = NSAttributedString.sj.makeText { (make) in
        make.font(.boldSystemFont(ofSize: 20)).textColor(.black).lineSpacing(8)
        make.append("Hello world!")
    }
    
    // It's equivalent to below code.
    
    let paragraphStyle = NSParagraphStyle.default.mutableCopy() as! NSMutableParagraphStyle
    paragraphStyle.lineSpacing = 8
    let attributes = [NSAttributedString.Key.font:UIFont.boldSystemFont(ofSize: 20),
                      NSAttributedString.Key.foregroundColor:UIColor.black,
                      NSAttributedString.Key.paragraphStyle:paragraphStyle]
    let text1 = NSAttributedString.init(string: "Hello world!", attributes: attributes)

use in Objc:

    NSAttributedString *text = [NSAttributedString sj_UIKitText:^(id<SJUIKitTextMakerProtocol>  _Nonnull make) {
    make.font([UIFont boldSystemFontOfSize:20]).textColor(UIColor.blackColor).lineSpacing(8);
    
    make.append(@":Image -");
    make.appendImage(^(id<SJUTImageAttachment>  _Nonnull make) {
        make.image = [UIImage imageNamed:@"sample2"];
        make.bounds = CGRectMake(0, 0, 30, 30);
    });
    
    make.append(@"\n");
    make.append(@":UnderLine").underLine(^(id<SJUTDecoration>  _Nonnull make) {
        make.style = NSUnderlineStyleSingle;
        make.color = UIColor.greenColor;
    });
    
    make.append(@"\n");
    make.append(@":Strikethrough").strikethrough(^(id<SJUTDecoration>  _Nonnull make) {
        make.style = NSUnderlineStyleSingle;
        make.color = UIColor.greenColor;
    });
    
    make.append(@"\n");
    make.append(@":BackgroundColor").backgroundColor(UIColor.greenColor);
    
    make.append(@"\n");
    make.append(@":Kern").kern(6);
    
    make.append(@"\n");
    make.append(@":Shadow").shadow(^(NSShadow * _Nonnull make) {
        make.shadowColor = [UIColor redColor];
        make.shadowOffset = CGSizeMake(0, 1);
        make.shadowBlurRadius = 5;
    });
    
    make.append(@"\n");
    make.append(@":Stroke").stroke(^(id<SJUTStroke>  _Nonnull make) {
        make.color = [UIColor greenColor];
        make.width = 1;
    });
    
    make.append(@"\n");
    make.append(@"oOo").font([UIFont boldSystemFontOfSize:25]).alignment(NSTextAlignmentCenter);
    
    make.append(@"\n");
    make.append(@"Regular Expression").backgroundColor([UIColor greenColor]);
    make.regex(@"Regular").update(^(id<SJUTAttributesProtocol>  _Nonnull make) {
        make.font([UIFont boldSystemFontOfSize:25]).textColor(UIColor.purpleColor);
    });
    
    make.regex(@"ss").replaceWithString(@"SS").backgroundColor([UIColor greenColor]);
    make.regex(@"on").replaceWithText(^(id<SJUIKitTextMakerProtocol>  _Nonnull make) {
        make.append(@"ON😆").textColor([UIColor redColor]).backgroundColor([UIColor greenColor]).font([UIFont boldSystemFontOfSize:30]);
    });
 }];

Contact

More Repositories

1

SJVideoPlayer

iOS VideoPlayer MediaPlayer video player media player 短视频播放器 可接入 ijkplayer aliplayer alivodplayer plplayer
Objective-C
2,347
star
2

SJFullscreenPopGesture

Fullscreen pop gesture. OC&Swift. It is very suitable for the application of the video player. Support `cocoapods`. 只需`pod`即可自带全屏返回手势. 支持pod. 支持OC&Swift.
Objective-C
281
star
3

SJMediaCacheServer

A HTTP Media Caching Framework. It can cache FILE or HLS media. 音视频边播边缓存框架, 支持 HLS(m3u8) 和 FILE(mp4, mp3等).
Objective-C
219
star
4

SJBaseVideoPlayer

video player. rotation, volume, brightness, rate, play, pause, stop, seekToTime, present.
Objective-C
117
star
5

SJSQLite3

DatabaseMapping. database mapping. Automatically create tables based on the model. 数据库模型映射. 自动建表, 自动更新表. 增删改查一句话搞定. 支持模糊查询, 各种插入和更新, 支持存储模型数组. pod SJSQLite3
Objective-C
114
star
6

SJSlider

滑块视图
Objective-C
94
star
7

SJLabel

一个支持匹配点击的 label . a label, Supports attributes text matching clicks.
Objective-C
51
star
8

SJPageViewController

A container view controller that manages navigation between pages of content, where each page is managed by a child view controller.
Objective-C
42
star
9

SJRouter

iOS Router
Objective-C
35
star
10

SJRecordVideo

record video and export. 短视频录制. 自由定制录制时间. 支持横竖屏录制&暂停&对焦&本地选取.
Objective-C
32
star
11

SJLoadingView

loading view.
Ruby
21
star
12

SJObserverHelper

SJObserverHelper, 观察者模式, 只需要观察即可, 不需要移除.
Objective-C
16
star
13

SJMP3Player

mp3 player, play while downloading. support set rate, and local cache. mp3播放器, 边下载边播放, 支持调速, 控制台操作.
Objective-C
15
star
14

LWZComponents

一些组件库
Objective-C
14
star
15

SJM3U8Downloader

Objective-C
14
star
16

SJBorderLineView

视图 或上或下或左或右 绘制一条线
Objective-C
6
star
17

SJAudioPlayer

A MP3 audio player. AVAudioEngine & AVAudioPlayerNode
Objective-C
6
star
18

SJMP3PlayWhileDownloadingProject

MP3歌曲边下载边播放, 支持调速, 控制台操作.
Objective-C
3
star
19

SJTransitionAnimator

Modal自定义转场动画
Objective-C
3
star
20

SJReciteWords

recite words
Objective-C
2
star
21

SJFrameLayout

Objective-C
2
star
22

SJUIKit

备份
Objective-C
2
star
23

iOS-Locks

Objective-C
1
star
24

SJPlaybackListController

SJVideoPlayer 播放列表控制器
Objective-C
1
star
25

PodIJKPlayer

Objective-C
1
star
26

SJSQLGenerator

最近在复习SQL语句, 为加深效果以及后期防止遗忘, 便使用OC写了一个便利构造SQL语句的库.
Objective-C
1
star