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] inself?.beishu = 0.5self?.setPlayRate()}.leeAction("0.75倍") { [weak self] inself?.beishu = 0.75self?.setPlayRate()}.leeAction("1倍") { [weak self] inself?.beishu = 1.0self?.setPlayRate()}.leeAction("1.25倍") { [weak self] inself?.beishu = 1.25self?.setPlayRate()}.leeAction("1.5倍") { [weak self] inself?.beishu = 1.5self?.setPlayRate()}.leeAction("2倍") { [weak self] inself?.beishu = 2.0self?.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:CGRectZerodelegate:selfdatasource:selfflowLayout: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 = 0agreeLoginLabel.textColor = UIColor(hex: 0xABABAB)let str = "登录即表示您同意《嘎嘎靓手机商城隐私政策》及《嘎嘎靓用户协议》"agreeLoginLabel.textAlignment = .centerlet text = NSMutableAttributedString(string: str)text.yy_setTextHighlight(NSRange(location: "登录即表示您同意".count, length: "《嘎嘎靓手机商城隐私政策》".count), color: UIColor(hex: 0x4C94F7), backgroundColor: nil, tapAction: { [weak self] (_, _, _, _) inUserInfo.share.privateApi()})text.yy_setTextHighlight(NSRange(location: "登录即表示您同意《嘎嘎靓手机商城隐私政策》及".count, length: "《嘎嘎靓用户协议》".count), color: UIColor(hex: 0x4C94F7), backgroundColor: nil, tapAction: { [weak self] (_, _, _, _) inlet 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 = textreturn agreeLoginLabel
}()