OC 常用第三方框架使用记录二

JPImageresizerView

录音转文字,去水印用到了镜像
#import "JPImageresizerView.h"

###裁剪图片

JPImageresizerConfigure *configure = [JPImageresizerConfigure defaultConfigureWithImage:self.orginImage make:^(JPImageresizerConfigure *configure) {
    // 到这里已经有了默认参数值,可以在这里另外设置你想要的参数值(使用了链式编程方式)
    configure
    .jp_frameType(JPClassicFrameType)
    .jp_resizeWHScale(1.0)
    .jp_gridCount(2)
    .jp_isShowGridlinesWhenIdle(YES)
    .jp_isShowGridlinesWhenDragging(YES)
    .jp_contentInsets(UIEdgeInsetsMake(kAdaptedFloat(20), kAdaptedFloat(20), kAdaptedFloat(160), kAdaptedFloat(20)));
}];
self.configure = configure;

JPImageresizerView *imageresizerView = [JPImageresizerView imageresizerViewWithConfigure:self.configure imageresizerIsCanRecovery:^(BOOL isCanRecovery) {

} imageresizerIsPrepareToScale:^(BOOL isPrepareToScale) {

}];
self.imageresizerView = imageresizerView;
[self.view addSubview:self.imageresizerView];

###裁剪视频

JPImageresizerConfigure *configure = [JPImageresizerConfigure defaultConfigureWithVideoAsset:urlAsset make:nil fixErrorBlock:nil fixStartBlock:nil fixProgressBlock:nil fixCompleteBlock:nil];

CYLTabBarController

中间加号按钮,使用项目:(黑色提词器,百宝箱)

LEEAlert

pod 'LEEAlert'

// 输入框
// 使用一个变量接收自定义的输入框对象 以便于在其他位置调用

__block UITextField *tf = nil;

[LEEAlert alert].config
.LeeTitle(@"请输入邀请码")
//            .LeeContent(@"内容")
.LeeAddTextField(^(UITextField *textField) {
    // 这里可以进行自定义的设置
    if (@available(iOS 13.0, *)) {
        textField.textColor = [UIColor secondaryLabelColor];
    } else {
        textField.textColor = [UIColor darkGrayColor];
    }
    tf = textField; //赋值
})
.LeeAction(@"确定", ^{

})
.leeShouldActionClickClose(^(NSInteger index){
    // 是否可以关闭回调, 当即将关闭时会被调用 根据返回值决定是否执行关闭处理
    // 这里演示了与输入框非空校验结合的例子
    BOOL result = ![tf.text isEqualToString:@""];
    result = index == 0 ? result : YES;
    return result;
})
.LeeCancelAction(@"取消", nil) // 点击事件的Block如果不需要可以传nil
.LeeShow();

WEAKSELF
        __block UITextField *tf = nil;
        [LEEAlert alert].config
        .LeeTitle(@"新建文件夹")
        .LeeAddTextField(^(UITextField *textField) {
            // 这里可以进行自定义的设置
            textField.textColor = k_Color_333333;
            textField.placeholder = @"请输入文件夹名字";
            textField.jk_maxLength = 12;
            tf = textField; //赋值
        })
        .LeeAddAction(^(LEEAction *action) {
            action.title = @"取消";
            action.titleColor = k_Color_999999;
        })
        .LeeAddAction(^(LEEAction *action) {
            action.title = @"确定";
            action.titleColor = k_Color_themeColor;
        })
        .leeShouldActionClickClose(^(NSInteger index){
            // 是否可以关闭回调, 当即将关闭时会被调用 根据返回值决定是否执行关闭处理
            if (index == 0) {
                return YES;
            }
            
            BOOL result = ![tf.text isEqualToString:@""];
            if (kIsEmpty(tf.text)) {
                [TSWindowHudService showViewWithFailed:@"请输入文件夹名字"];
                return NO;
            }
            
            [weakSelf Jia_Shadow_AddDirectoryApiWithName:tf.text];
            return result;
        })
        .LeeShow();

.LeeAddAction(^(LEEAction *action) {
    action.title = @"确定";
    action.titleColor = k_Color_222222;
})

#####Swift

let alt = LEEAlert.actionsheet()
        let _ = alt
            .config
            .leeAction("0.5倍") { [weak self] in
                self?.beishu = 0.5
                self?.setPlayRate()
            }
            .leeAction("0.75倍") { [weak self] in
                self?.beishu = 0.75
                self?.setPlayRate()
            }
            .leeAction("1倍") { [weak self] in
                self?.beishu = 1.0
                self?.setPlayRate()
            }
            .leeAction("1.25倍") { [weak self] in
                self?.beishu = 1.25
                self?.setPlayRate()
            }
            .leeAction("1.5倍") { [weak self] in
                self?.beishu = 1.5
                self?.setPlayRate()
            }
            .leeAction("2倍") { [weak self] in
                self?.beishu = 2.0
                self?.setPlayRate()
            }
            .leeShow()

#CWCarousel轮播图

#import "CWCarousel.h"
@property (nonatomic, strong) CWCarousel *carousel;
[self.carousel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.view.mas_top).offset(kAdaptedFloat(20));
        make.left.right.equalTo(self.view);
        make.height.mas_equalTo(kAdaptedFloat(400));
    }];
- (CWCarousel *)carousel {
    if (!_carousel) {
        
        CWFlowLayout *flowLayout = [[CWFlowLayout alloc] initWithStyle:CWCarouselStyle_H_2];
        flowLayout.itemSpace_H = 10;

        _carousel = [[CWCarousel alloc] initWithFrame:CGRectZero
                                             delegate:self
                                           datasource:self
                                           flowLayout:flowLayout];
        
        _carousel.autoTimInterval = 2;
        _carousel.endless = NO;
        _carousel.backgroundColor = [UIColor clearColor];
        [_carousel registerViewClass:[MSMaterialCenterCollectionCell class] identifier:[MSMaterialCenterCollectionCell jk_className]];
    }
    return _carousel;
}

#pragma mark ------- CWCarouselDelegate -------

- (NSInteger)numbersForCarousel {
    return self.dataArray.count;
}

- (UICollectionViewCell *)viewForCarousel:(CWCarousel *)carousel indexPath:(NSIndexPath *)indexPath index:(NSInteger)index {
    MSMaterialCenterCollectionCell *cell = [carousel.carouselView dequeueReusableCellWithReuseIdentifier:[MSMaterialCenterCollectionCell jk_className] forIndexPath:indexPath];
    
    UIImage *codeImage = [WSLNativeScanTool createQRCodeImageWithString:[NSString stringWithFormat:@"%@%@", kShareBaseUrlString, MSService.userModel.myInviteCode] andSize:kAdaptedSize(65, 65) andBackColor:[UIColor whiteColor] andFrontColor:[UIColor blackColor] andCenterImage:nil];
    
    cell.codeImageView.image = codeImage;
    
    MaterialListModel *model = self.dataArray[index];
    [cell.backImageView ts_loadUrlString:model.picUrlLt.firstObject];
    
    return cell;
}

- (void)CWCarousel:(CWCarousel *)carousel didSelectedAtIndex:(NSInteger)index {
    NSLog(@"did selected at index %ld", index);
}


- (void)CWCarousel:(CWCarousel *)carousel didStartScrollAtIndex:(NSInteger)index indexPathRow:(NSInteger)indexPathRow {
    
}


- (void)CWCarousel:(CWCarousel *)carousel didEndScrollAtIndex:(NSInteger)index indexPathRow:(NSInteger)indexPathRow {
    self.indexPathRow = indexPathRow;
}

#YYText

####YYLabel

QXSingleYYLabelCell *cell = [QXSingleYYLabelCell cellForTableView:tableView];
UIFont *font = [UIFont systemFontOfSize:kAdaptedFloat(14)];
cell.yyLabel.textColor = k_Color_999999;
cell.yyLabel.font = font;
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:@"通过红娘认证,即可获得专属红娘标识"];
NSMutableAttributedString *attachment = nil;
// 嵌入 UIImage
UIImage *image = kImageName(@"blinddate_v_icon");
attachment = [NSMutableAttributedString yy_attachmentStringWithContent:image contentMode:UIViewContentModeCenter attachmentSize:image.size alignToFont:font alignment:YYTextVerticalAlignmentCenter];
[text appendAttributedString:attachment];
[text appendAttributedString:[[NSAttributedString alloc] initWithString:@"以及一个专属群组"]];
cell.yyLabel.attributedText = text;
return cell;

lazy var agreeLoginLabel: YYLabel = {
    let agreeLoginLabel = YYLabel()
    agreeLoginLabel.numberOfLines = 0
    agreeLoginLabel.textColor = UIColor(hex: 0xABABAB)
    
    let str = "登录即表示您同意《嘎嘎靓手机商城隐私政策》及《嘎嘎靓用户协议》"
    agreeLoginLabel.textAlignment = .center
    
    let text = NSMutableAttributedString(string: str)
    
    text.yy_setTextHighlight(NSRange(location: "登录即表示您同意".count, length: "《嘎嘎靓手机商城隐私政策》".count), color: UIColor(hex: 0x4C94F7), backgroundColor: nil, tapAction: { [weak self] (_, _, _, _) in
        UserInfo.share.privateApi()
    })
    
    text.yy_setTextHighlight(NSRange(location: "登录即表示您同意《嘎嘎靓手机商城隐私政策》及".count, length: "《嘎嘎靓用户协议》".count), color: UIColor(hex: 0x4C94F7), backgroundColor: nil, tapAction: { [weak self] (_, _, _, _) in
        let vc = WKWebViewController(urlSting: "\(gagaliangUrl)agreement.html")
        vc.title = "嘎嘎靓用户协议"
        self?.navigationController?.pushViewController(vc, animated: true)
    })
    
    text.yy_setFont(UIFont.systemFont(ofSize: 10)~, range: NSRange(location: 0, length: str.count))
    agreeLoginLabel.attributedText = text
    return agreeLoginLabel
}()
相关推荐
Java小白笔记1 小时前
Mac中安装homebrew
macos
HerayChen4 小时前
HbuildderX运行到手机或模拟器的Android App基座识别不到设备 mac
android·macos·智能手机
hairenjing11234 小时前
在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序
android·人工智能·windows·macos·智能手机
小李飞刀李寻欢7 小时前
Mac电脑如何解压rar压缩包
macos·rar·解压
Java小白笔记7 小时前
Mac中禁用系统更新
macos
AndyFrank7 小时前
mac crontab 不能使用问题简记
linux·运维·macos
Mac新人7 小时前
一招解决Mac没有剪切板历史记录的问题
macos·mac
王拴柱7 小时前
Mac保护电池健康,延长电池使用寿命的好方法
macos·mac
daa207 小时前
macos中安装和设置ninja
macos
Java小白笔记8 小时前
Mac解决 zsh: command not found: ll
macos