762 lines
32 KiB
Mathematica
762 lines
32 KiB
Mathematica
|
|
//
|
|||
|
|
// FZYControl.m
|
|||
|
|
//
|
|||
|
|
// Created by 范智渊 on 2016/8/27.
|
|||
|
|
// Copyright © 2018年 范智渊. All rights reserved.
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
#import "FZYControl.h"
|
|||
|
|
|
|||
|
|
@implementation FZYControl
|
|||
|
|
|
|||
|
|
#pragma mark ---- create Label ----------
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelFromFont:(UIFont *)font textColor:(UIColor *)color {
|
|||
|
|
UILabel *label = [[UILabel alloc]init];
|
|||
|
|
label.font = font;
|
|||
|
|
label.textColor = color;
|
|||
|
|
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelFromFont:(UIFont *)font textColor:(UIColor *)color textAlignment:(NSTextAlignment)textAlignment {
|
|||
|
|
UILabel *label = [FZYControl createLabelFromFont:font textColor:color];
|
|||
|
|
label.textAlignment = textAlignment;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelFromFont:(UIFont *)font textColor:(UIColor *)color numberOfLines:(NSInteger)numberOfLines {
|
|||
|
|
UILabel *label = [FZYControl createLabelFromFont:font textColor:color];
|
|||
|
|
label.numberOfLines = numberOfLines;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame backgoudColor:(UIColor *)color {
|
|||
|
|
UILabel *label = [[UILabel alloc]initWithFrame:frame];
|
|||
|
|
label.backgroundColor = color;
|
|||
|
|
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame backgoudColor:(UIColor *)color tag:(NSInteger)tag {
|
|||
|
|
UILabel *label = [self createLabelWithFrame:frame backgoudColor:color];
|
|||
|
|
label.tag = tag;
|
|||
|
|
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame Font:(UIFont *)font Text:(NSString *)text
|
|||
|
|
{
|
|||
|
|
UILabel *label = [[UILabel alloc]initWithFrame:frame];
|
|||
|
|
//限制行数
|
|||
|
|
label.numberOfLines = 0;
|
|||
|
|
//对齐方式
|
|||
|
|
label.textAlignment = NSTextAlignmentLeft;
|
|||
|
|
label.backgroundColor = [UIColor clearColor];
|
|||
|
|
label.font = font;
|
|||
|
|
//单词折行
|
|||
|
|
label.lineBreakMode = NSLineBreakByWordWrapping;
|
|||
|
|
//默认字体颜色是白色
|
|||
|
|
label.textColor =COLOR16(0xffffff);
|
|||
|
|
//自适应(行数~字体大小按照设置大小进行设置)
|
|||
|
|
label.adjustsFontSizeToFitWidth = YES;
|
|||
|
|
label.text = text;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame Font:(UIFont *)font Text:(NSString *)text color:(UIColor *)color
|
|||
|
|
{
|
|||
|
|
UILabel *label = [[UILabel alloc]initWithFrame:frame];
|
|||
|
|
|
|||
|
|
label.font = font;
|
|||
|
|
//单词折行
|
|||
|
|
// label.lineBreakMode=NSLineBreakByWordWrapping;
|
|||
|
|
//默认字体颜色是白色
|
|||
|
|
label.textColor = color;
|
|||
|
|
//自适应(行数~字体大小按照设置大小进行设置)
|
|||
|
|
label.text = text;
|
|||
|
|
label.numberOfLines = 0;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithframe:(CGRect)frame Font:(UIFont *)font Text:(NSString *)text color:(UIColor *)color {
|
|||
|
|
UILabel *label = [[UILabel alloc]initWithFrame:frame];
|
|||
|
|
|
|||
|
|
label.font = font;
|
|||
|
|
//单词折行
|
|||
|
|
// label.lineBreakMode=NSLineBreakByWordWrapping;
|
|||
|
|
//默认字体颜色是白色
|
|||
|
|
label.textColor = color;
|
|||
|
|
//自适应(行数~字体大小按照设置大小进行设置)
|
|||
|
|
label.text = text;
|
|||
|
|
label.numberOfLines = 0;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame
|
|||
|
|
Font:(UIFont *)font
|
|||
|
|
Text:(NSString *)text
|
|||
|
|
color:(UIColor *)color
|
|||
|
|
tag:(NSInteger)tag {
|
|||
|
|
UILabel *label = [FZYControl createLabelWithFrame:frame Font:font Text:text color:color];
|
|||
|
|
label.tag = tag;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame
|
|||
|
|
Font:(UIFont *)font
|
|||
|
|
Text:(NSString *)text
|
|||
|
|
color:(UIColor *)color
|
|||
|
|
textAlignment:(NSTextAlignment)alignment {
|
|||
|
|
UILabel *label = [self createLabelWithFrame:frame Font:font Text:text color:color];
|
|||
|
|
label.textAlignment = alignment;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame
|
|||
|
|
Font:(UIFont *)font
|
|||
|
|
Text:(NSString *)text
|
|||
|
|
color:(UIColor *)color
|
|||
|
|
textAlignment:(NSTextAlignment)alignment
|
|||
|
|
backgroundColor:(UIColor *)backgroundColor {
|
|||
|
|
UILabel *label = [self createLabelWithFrame:frame Font:font Text:text color:color textAlignment:alignment];
|
|||
|
|
label.backgroundColor = backgroundColor;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame
|
|||
|
|
Font:(UIFont *)font
|
|||
|
|
Text:(NSString *)text
|
|||
|
|
color:(UIColor *)color
|
|||
|
|
textAlignment:(NSTextAlignment)alignment
|
|||
|
|
backgroundColor:(UIColor *)backgroundColor
|
|||
|
|
cornerRadius:(CGFloat)cornerRadius {
|
|||
|
|
UILabel *label = [self createLabelWithFrame:frame Font:font Text:text color:color textAlignment:alignment backgroundColor:backgroundColor];
|
|||
|
|
label.layer.cornerRadius = cornerRadius;
|
|||
|
|
label.layer.masksToBounds = YES;
|
|||
|
|
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame
|
|||
|
|
Font:(UIFont *)font
|
|||
|
|
Text:(NSString *)text
|
|||
|
|
color:(UIColor *)color
|
|||
|
|
textAlignment:(NSTextAlignment)alignment
|
|||
|
|
numberOfLines:(NSInteger)numberOfLines {
|
|||
|
|
UILabel *label = [self createLabelWithFrame:frame Font:font Text:text color:color textAlignment:alignment];
|
|||
|
|
label.numberOfLines = numberOfLines;
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UILabel *)createLabelWithFrame:(CGRect)frame
|
|||
|
|
Font:(UIFont *)font
|
|||
|
|
Text:(NSString *)text
|
|||
|
|
color:(UIColor *)color
|
|||
|
|
textAlignment:(NSTextAlignment)alignment
|
|||
|
|
numberOfLines:(NSInteger)numberOfLines
|
|||
|
|
tag:(NSInteger)tag {
|
|||
|
|
UILabel *label = [self createLabelWithFrame:frame Font:font Text:text color:color textAlignment:alignment numberOfLines:numberOfLines];
|
|||
|
|
label.tag = tag;
|
|||
|
|
|
|||
|
|
return label;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#pragma mark ---- create UIButton ----------
|
|||
|
|
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
Target:(id)target
|
|||
|
|
Action:(SEL)action
|
|||
|
|
Title:(NSString *)title
|
|||
|
|
titlColor:(UIColor *)color
|
|||
|
|
font:(UIFont *)textFont
|
|||
|
|
tag:(NSInteger)tag {
|
|||
|
|
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
|
|||
|
|
button.frame = frame;
|
|||
|
|
button.tag = tag;
|
|||
|
|
button.titleLabel.font = textFont;
|
|||
|
|
[button setTitle:title forState:UIControlStateNormal];
|
|||
|
|
[button setTitleColor:color forState:UIControlStateNormal];
|
|||
|
|
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
|
|||
|
|
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** action title textFont backgroudColor */
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
Target:(id)target
|
|||
|
|
Action:(SEL)action
|
|||
|
|
Title:(NSString *)title
|
|||
|
|
titlColor:(UIColor *)color
|
|||
|
|
font:(UIFont *)textFont
|
|||
|
|
tag:(NSInteger)tag
|
|||
|
|
backgroundColor:(UIColor *)backgroudColor {
|
|||
|
|
UIButton *button = [self createButtonWithFrame:frame Target:target Action:action Title:title titlColor:color font:textFont tag:tag];
|
|||
|
|
button.backgroundColor = backgroudColor;
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame buttonTitleFont:(UIFont *)buttonTitleFont buttonTitle:(NSString *)buttonTitle {
|
|||
|
|
UIButton *button = [[UIButton alloc]initWithFrame:frame];
|
|||
|
|
button.titleLabel.font = buttonTitleFont;
|
|||
|
|
[button setTitle:buttonTitle forState:(UIControlStateNormal)];
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** action imageName title */
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
ImageName:(NSString *)imageName
|
|||
|
|
Target:(id)target
|
|||
|
|
Action:(SEL)action
|
|||
|
|
font:(UIFont *)font
|
|||
|
|
Title:(NSString *)title
|
|||
|
|
{
|
|||
|
|
UIButton *button = [self createButtonWithFrame:frame ImageName:imageName selectedImage:imageName Target:target Action:action Title:title tag:0];
|
|||
|
|
button.titleLabel.font = font;
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** imageName selected title selectedTitle color selectedColor action font bgColor*/
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
ImageName:(NSString *)imageName
|
|||
|
|
selectedImage:(NSString *)selected
|
|||
|
|
Title:(NSString *)title
|
|||
|
|
selectedTitle:(NSString *)selectedTitle
|
|||
|
|
titleColor:(UIColor *)color
|
|||
|
|
selectedTitleColor:(UIColor *)selectedColor
|
|||
|
|
Target:(id)target
|
|||
|
|
Action:(SEL)action
|
|||
|
|
titleFont:(UIFont *)font
|
|||
|
|
backgroundColor:(UIColor *)bgColor
|
|||
|
|
tag:(NSInteger)tag {
|
|||
|
|
UIButton *button = [self createButtonWithFrame:frame ImageName:imageName selectedImage:selected Target:target Action:action Title:nil tag:tag];
|
|||
|
|
[button setTitle:title forState:(UIControlStateNormal)];
|
|||
|
|
[button setTitle:selectedTitle forState:(UIControlStateSelected)];
|
|||
|
|
[button setTitleColor:color forState:(UIControlStateNormal)];
|
|||
|
|
[button setTitleColor:selectedColor forState:(UIControlStateSelected)];
|
|||
|
|
button.titleLabel.font = font;
|
|||
|
|
button.backgroundColor = bgColor;
|
|||
|
|
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** imageName selected */
|
|||
|
|
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
ImageName:(NSString *)imageName
|
|||
|
|
selectedImage:(NSString *)selected
|
|||
|
|
Target:(id)target
|
|||
|
|
Action:(SEL)action
|
|||
|
|
Title:(NSString *)title
|
|||
|
|
tag:(NSInteger)tag {
|
|||
|
|
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
|
|||
|
|
button.frame = frame;
|
|||
|
|
button.tag = tag;
|
|||
|
|
[button setTitleColor:UIColor.blackColor forState:(UIControlStateNormal)];
|
|||
|
|
[button setTitle:title forState:UIControlStateNormal];
|
|||
|
|
//设置背景图片,可以使文字与图片共存
|
|||
|
|
if (imageName.length) {
|
|||
|
|
[button setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
|
|||
|
|
[button setImage:[UIImage imageNamed:selected] forState:UIControlStateSelected];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
button.titleLabel.textAlignment = NSTextAlignmentCenter;
|
|||
|
|
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
|
|||
|
|
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
backgroundImageName:(NSString *)imageName
|
|||
|
|
selectedImage:(NSString *)selected
|
|||
|
|
Target:(id)target
|
|||
|
|
Action:(SEL)action
|
|||
|
|
Title:(NSString *)title
|
|||
|
|
tag:(NSInteger)tag {
|
|||
|
|
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
|
|||
|
|
button.frame = frame;
|
|||
|
|
button.tag = tag;
|
|||
|
|
[button setTitleColor:UIColor.blackColor forState:(UIControlStateNormal)];
|
|||
|
|
[button setTitle:title forState:UIControlStateNormal];
|
|||
|
|
//设置背景图片,可以使文字与图片共存
|
|||
|
|
if (imageName.length) {
|
|||
|
|
[button setBackgroundImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
|
|||
|
|
[button setBackgroundImage:[UIImage imageNamed:selected] forState:UIControlStateSelected];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
button.titleLabel.textAlignment = NSTextAlignmentCenter;
|
|||
|
|
[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
|
|||
|
|
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** font title titleColor backgorudColor */
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
buttonTitleFont:(UIFont *)font
|
|||
|
|
buttonTitle:(NSString *)title
|
|||
|
|
buttonTitleColor:(UIColor *)titleColor
|
|||
|
|
backgorudColor:(UIColor *)backgorudColor {
|
|||
|
|
UIButton *button = [self createButtonWithFrame:frame buttonTitleFont:font buttonTitle:title];
|
|||
|
|
[button setTitleColor:titleColor forState:(UIControlStateNormal)];
|
|||
|
|
button.backgroundColor = backgorudColor;
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/** font title titleColor backgorudColor borderColor borderWidth*/
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
buttonTitleFont:(UIFont *)font
|
|||
|
|
buttonTitle:(NSString *)title
|
|||
|
|
buttonTitleColor:(UIColor *)titleColor
|
|||
|
|
backgorudColor:(UIColor *)backgorudColor
|
|||
|
|
borderColor:(CGColorRef)borderColor
|
|||
|
|
borderWidth:(CGFloat)borderWidth
|
|||
|
|
action:(SEL)action
|
|||
|
|
target:(id)target {
|
|||
|
|
UIButton *button = [self createButtonWithFrame:frame buttonTitleFont:font buttonTitle:title buttonTitleColor:titleColor backgorudColor:backgorudColor];
|
|||
|
|
button.layer.borderColor = borderColor;
|
|||
|
|
button.layer.borderWidth = borderWidth;
|
|||
|
|
[button addTarget:target action:action forControlEvents:(UIControlEventTouchUpInside)];
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame {
|
|||
|
|
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
|
|||
|
|
button.frame = frame;
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame
|
|||
|
|
buttonImage:(NSString *)imageName {
|
|||
|
|
UIButton *button = [self createButtonWithFrame:frame];
|
|||
|
|
[button setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIButton *)createButtonWithFrame:(CGRect)frame buttonType:(UIButtonType)type buttonImage:(NSString *)imageName Target:(id)target Action:(SEL)action {
|
|||
|
|
UIButton *button = [self createButtonWithFrame:frame];
|
|||
|
|
[button setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
|
|||
|
|
[button addTarget:target action:action forControlEvents:(UIControlEventTouchUpInside)];
|
|||
|
|
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#pragma mark ----- 创建tableView -----
|
|||
|
|
+ (UITableView *)createTableViewWithFrame:(CGRect)frame
|
|||
|
|
style:(UITableViewStyle)style
|
|||
|
|
dataSource:(id<UITableViewDataSource>)dataSource
|
|||
|
|
delegate:(id<UITableViewDelegate>)delegate {
|
|||
|
|
UITableView *tableView = [[UITableView alloc]initWithFrame:frame style:style];
|
|||
|
|
tableView.dataSource = dataSource;
|
|||
|
|
tableView.delegate = delegate;
|
|||
|
|
|
|||
|
|
return tableView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UITableView *)createTableViewWithFrame:(CGRect)frame style:(UITableViewStyle)style
|
|||
|
|
backgroudColor:(UIColor *)backgroudColor
|
|||
|
|
dataSource:(id<UITableViewDataSource>)dataSource
|
|||
|
|
delegate:(id<UITableViewDelegate>)delegate {
|
|||
|
|
UITableView *tableView = [self createTableViewWithFrame:frame style:style dataSource:dataSource delegate:delegate];
|
|||
|
|
tableView.backgroundColor = backgroudColor;
|
|||
|
|
return tableView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UITableView *)createTableViewWithFrame:(CGRect)frame style:(UITableViewStyle)style
|
|||
|
|
backgroudColor:(UIColor *)backgroudColor
|
|||
|
|
dataSource:(id<UITableViewDataSource>)dataSource
|
|||
|
|
delegate:(id<UITableViewDelegate>)delegate
|
|||
|
|
separatorStyle:(UITableViewCellSeparatorStyle)separatorStyle {
|
|||
|
|
UITableView *tableView = [self createTableViewWithFrame:frame style:style backgroudColor:backgroudColor dataSource:dataSource delegate:delegate];
|
|||
|
|
tableView.separatorStyle = separatorStyle;
|
|||
|
|
|
|||
|
|
return tableView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#pragma mark ----- 创建UICollectionView -----
|
|||
|
|
+ (UICollectionView *)createCollectionViewFromFrame:(CGRect)frame
|
|||
|
|
itmeSize:(CGSize)itmeSize
|
|||
|
|
sectionInset:(UIEdgeInsets)sectionInset
|
|||
|
|
minimumLineSpacing:(CGFloat)minimumLineSpacing
|
|||
|
|
minimumInteritemSpacing:(CGFloat)minimumInteritemSpacing
|
|||
|
|
scrollDirection:(UICollectionViewScrollDirection)scrollDirection
|
|||
|
|
dataSource:(id<UICollectionViewDataSource>)dataSource
|
|||
|
|
delegate:(id<UICollectionViewDelegate>)delegate
|
|||
|
|
backgroudColor:(UIColor *)backgroudColor {
|
|||
|
|
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
|
|||
|
|
layout.itemSize = itmeSize;
|
|||
|
|
layout.sectionInset = sectionInset;
|
|||
|
|
layout.minimumLineSpacing = minimumLineSpacing;
|
|||
|
|
layout.minimumInteritemSpacing = minimumInteritemSpacing;
|
|||
|
|
layout.scrollDirection = scrollDirection;
|
|||
|
|
|
|||
|
|
UICollectionView *view = [self createCollectionViewFromFrame:frame collectionViewLayout:layout dataSource:dataSource delegate:delegate];
|
|||
|
|
view.backgroundColor = backgroudColor;
|
|||
|
|
[view registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"item"];
|
|||
|
|
|
|||
|
|
return view;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UICollectionView *)createCollectionViewFromFrame:(CGRect)frame
|
|||
|
|
itmeSize:(CGSize)itmeSize
|
|||
|
|
sectionInset:(UIEdgeInsets)sectionInset
|
|||
|
|
minimumLineSpacing:(CGFloat)minimumLineSpacing
|
|||
|
|
minimumInteritemSpacing:(CGFloat)minimumInteritemSpacing
|
|||
|
|
scrollDirection:(UICollectionViewScrollDirection)scrollDirection
|
|||
|
|
dataSource:(id<UICollectionViewDataSource>)dataSource
|
|||
|
|
delegate:(id<UICollectionViewDelegate>)delegate
|
|||
|
|
backgroudColor:(UIColor *)backgroudColor
|
|||
|
|
headerReuseIdentifier:(NSString *)headerReuseIdentifier
|
|||
|
|
footerReuseIdentifier:(NSString *)footerReuseIdentifier {
|
|||
|
|
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init];
|
|||
|
|
layout.itemSize = itmeSize;
|
|||
|
|
layout.sectionInset = sectionInset;
|
|||
|
|
layout.minimumLineSpacing = minimumLineSpacing;
|
|||
|
|
layout.minimumInteritemSpacing = minimumInteritemSpacing;
|
|||
|
|
layout.scrollDirection = scrollDirection;
|
|||
|
|
|
|||
|
|
UICollectionView *view = [self createCollectionViewFromFrame:frame collectionViewLayout:layout dataSource:dataSource delegate:delegate];
|
|||
|
|
view.backgroundColor = backgroudColor;
|
|||
|
|
[view registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"item"];
|
|||
|
|
[view registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:headerReuseIdentifier];
|
|||
|
|
[view registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:footerReuseIdentifier];
|
|||
|
|
return view;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UICollectionView *)createCollectionViewFromFrame:(CGRect)frame
|
|||
|
|
collectionViewLayout:(UICollectionViewLayout *)layout
|
|||
|
|
dataSource:(id<UICollectionViewDataSource>)dataSource
|
|||
|
|
delegate:(id<UICollectionViewDelegate>)delegate {
|
|||
|
|
UICollectionView *colltionView = [[UICollectionView alloc]initWithFrame:frame collectionViewLayout:layout];
|
|||
|
|
colltionView.delegate = delegate;
|
|||
|
|
colltionView.dataSource = dataSource;
|
|||
|
|
|
|||
|
|
return colltionView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UICollectionView *)createCollectionViewFromFrame:(CGRect)frame
|
|||
|
|
collectionViewLayout:(UICollectionViewLayout *)layout
|
|||
|
|
dataSource:(id<UICollectionViewDataSource>)dataSource
|
|||
|
|
delegate:(id<UICollectionViewDelegate>)delegate
|
|||
|
|
backgroudColor:(UIColor *)backgroudColor {
|
|||
|
|
UICollectionView *collectionView = [self createCollectionViewFromFrame:frame collectionViewLayout:layout dataSource:dataSource delegate:delegate];
|
|||
|
|
collectionView.backgroundColor = backgroudColor;
|
|||
|
|
|
|||
|
|
return collectionView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#pragma----- UIImageView部分 --------
|
|||
|
|
|
|||
|
|
//创建并返回一个UIImageview,设置大小和图片
|
|||
|
|
+ (UIImageView *)createImageViewWithFrame:(CGRect)frame ImageName:(NSString *)imageName
|
|||
|
|
{
|
|||
|
|
UIImageView *imageView = [[UIImageView alloc]initWithFrame:frame];
|
|||
|
|
if (imageName.length) {
|
|||
|
|
imageView.image = [UIImage imageNamed:imageName];
|
|||
|
|
}
|
|||
|
|
// imageView.userInteractionEnabled=YES;
|
|||
|
|
return imageView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIImageView *)createImageViewWithFrame:(CGRect)frame ImageName:(NSString *)imageName contentMode:(UIViewContentMode)contentMode {
|
|||
|
|
UIImageView *imageView = [self createImageViewWithFrame:frame ImageName:imageName];
|
|||
|
|
imageView.contentMode = contentMode;
|
|||
|
|
|
|||
|
|
return imageView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIImageView *)createImageViewWithFrame:(CGRect)frame ImageName:(NSString *)imageName imageTagValue:(NSInteger)tag {
|
|||
|
|
UIImageView *imageView = [self createImageViewWithFrame:frame ImageName:imageName];
|
|||
|
|
imageView.tag = tag;
|
|||
|
|
|
|||
|
|
return imageView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#pragma----- UIView部分 --------
|
|||
|
|
|
|||
|
|
+ (UIView *)viewWithFrame:(CGRect)frame {
|
|||
|
|
UIView *view = [[UIView alloc]initWithFrame:frame];
|
|||
|
|
return view;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIView *)viewWithFrame:(CGRect)frame backgroundColor:(UIColor *)color {
|
|||
|
|
UIView *view = [FZYControl viewWithFrame:frame];
|
|||
|
|
view.backgroundColor = color;
|
|||
|
|
return view;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIView *)viewWithFrame:(CGRect)frame backgroundColor:(UIColor *)color borderColor:(CGColorRef)borderColor borderWidth:(CGFloat)borderWidth {
|
|||
|
|
UIView *view = [self viewWithFrame:frame backgroundColor:color];
|
|||
|
|
view.layer.borderColor = borderColor;
|
|||
|
|
view.layer.borderWidth = borderWidth;
|
|||
|
|
|
|||
|
|
return view;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIView *)viewWithFrame:(CGRect)frame backgroundColor:(UIColor *)color viewTagValue:(NSInteger)tag {
|
|||
|
|
UIView *view = [FZYControl viewWithFrame:frame backgroundColor:color];
|
|||
|
|
view.tag = tag;
|
|||
|
|
return view;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#pragma mark 适配器方法
|
|||
|
|
|
|||
|
|
+ (UIScrollView *)makeScrollViewWithFrame:(CGRect)frame andSize:(CGSize)size
|
|||
|
|
{
|
|||
|
|
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:frame];
|
|||
|
|
|
|||
|
|
scrollView.pagingEnabled = YES;
|
|||
|
|
scrollView.contentSize = size;
|
|||
|
|
scrollView.showsHorizontalScrollIndicator = NO;
|
|||
|
|
scrollView.showsVerticalScrollIndicator = NO;
|
|||
|
|
scrollView.scrollsToTop = NO;
|
|||
|
|
return scrollView;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UIPageControl *)makePageControlWithFram:(CGRect)frame
|
|||
|
|
{
|
|||
|
|
UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:frame];
|
|||
|
|
pageControl.numberOfPages = 2;
|
|||
|
|
pageControl.currentPage = 0;
|
|||
|
|
return pageControl;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (UISlider *)makeSliderWithFrame:(CGRect)rect AndImage:(UIImage *)image
|
|||
|
|
{
|
|||
|
|
UISlider *slider = [[UISlider alloc]initWithFrame:rect];
|
|||
|
|
slider.minimumValue = 0;
|
|||
|
|
slider.maximumValue = 1;
|
|||
|
|
[slider setThumbImage:[UIImage imageNamed:@"qiu"] forState:UIControlStateNormal];
|
|||
|
|
slider.maximumTrackTintColor = [UIColor grayColor];
|
|||
|
|
slider.minimumTrackTintColor = [UIColor yellowColor];
|
|||
|
|
slider.continuous = YES;
|
|||
|
|
slider.enabled = YES;
|
|||
|
|
return slider;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (NSString *)stringFromDateWithHourAndMinute:(NSDate *)date
|
|||
|
|
{
|
|||
|
|
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
|
|||
|
|
//zzz表示时区,zzz可以删除,这样返回的日期字符将不包含时区信息。
|
|||
|
|
[dateFormatter setDateFormat:@"HH:mm"];
|
|||
|
|
NSString *destDateString = [dateFormatter stringFromDate:date];
|
|||
|
|
|
|||
|
|
return destDateString;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#pragma mark 内涵图需要的方法
|
|||
|
|
+ (NSString *)stringDateWithTimeInterval:(NSString *)timeInterval
|
|||
|
|
{
|
|||
|
|
NSTimeInterval seconds = [timeInterval integerValue];
|
|||
|
|
NSDate *date = [NSDate dateWithTimeIntervalSince1970:seconds];
|
|||
|
|
NSDateFormatter *format = [[NSDateFormatter alloc] init];
|
|||
|
|
format.dateFormat = @"yyyy-MM-dd HH:mm:ss";
|
|||
|
|
return [format stringFromDate:date];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (CGFloat)textHeightWithString:(NSString *)text width:(CGFloat)width fontSize:(NSInteger)fontSize
|
|||
|
|
{
|
|||
|
|
NSDictionary *dict = @{ NSFontAttributeName: [UIFont systemFontOfSize:fontSize] };
|
|||
|
|
// 根据第一个参数的文本内容,使用280*float最大值的大小,使用系统14号字,返回一个真实的frame size : (280*xxx)!!
|
|||
|
|
CGRect frame = [text boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil];
|
|||
|
|
return frame.size.height + 5;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 返回一个整数字符串加1后的新字符串
|
|||
|
|
+ (NSString *)addOneByIntegerString:(NSString *)integerString
|
|||
|
|
{
|
|||
|
|
NSInteger integer = [integerString integerValue];
|
|||
|
|
return [NSString stringWithFormat:@"%ld", integer + 1];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)changeTextFontWithLabel:(UILabel *)label changeStr:(NSString *)str font:(UIFont *)font {
|
|||
|
|
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc]initWithString:label.text];
|
|||
|
|
if (label.attributedText) {
|
|||
|
|
attr = label.attributedText.mutableCopy;
|
|||
|
|
}
|
|||
|
|
if (![label.text containsString:str]) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
NSRange range = [label.text rangeOfString:str];
|
|||
|
|
[attr addAttribute:NSFontAttributeName value:font range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)changeTextColorWithLabel:(UILabel *)label changeStr:(NSString *)str color:(UIColor *)color {
|
|||
|
|
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc]initWithString:label.text];
|
|||
|
|
if (label.attributedText) {
|
|||
|
|
attr = label.attributedText.mutableCopy;
|
|||
|
|
}
|
|||
|
|
if (![label.text containsString:str]) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
NSRange range = [label.text rangeOfString:str];
|
|||
|
|
[attr addAttribute:NSForegroundColorAttributeName value:color range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)changeTextColorWithlabel:(UILabel *)label changeString:(NSString *)str backGroudColor:(UIColor *)backColor color:(UIColor *)color {
|
|||
|
|
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc]initWithString:label.text];
|
|||
|
|
if (label.attributedText) {
|
|||
|
|
attr = label.attributedText.mutableCopy;
|
|||
|
|
}
|
|||
|
|
if (![label.text containsString:str]) {
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
NSRange range = [label.text rangeOfString:str];
|
|||
|
|
[attr addAttribute:NSBackgroundColorAttributeName value:backColor range:range];
|
|||
|
|
[attr addAttribute:NSForegroundColorAttributeName value:color range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)addUnderLineWithLabel:(UILabel *)label changeStr:(NSString *)str {
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
NSRange range = [label.text rangeOfString:str];
|
|||
|
|
// [attr addAttribute:NSForegroundColorAttributeName value:RGB_COLOR(@"#999999", 1) range:range];
|
|||
|
|
[attr addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlinePatternSolid | NSUnderlineStyleSingle] range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)addUnderLineWithLabel:(UILabel *)label changeStr:(NSString *)str andFont:(UIFont *)font {
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
NSRange range = NSMakeRange(label.text.length - str.length, str.length);
|
|||
|
|
[attr addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlinePatternSolid | NSUnderlineStyleSingle] range:range];
|
|||
|
|
[attr addAttribute:NSForegroundColorAttributeName value:HEXCOLOR(0x999999) range:range];
|
|||
|
|
|
|||
|
|
[attr addAttribute:NSFontAttributeName value:font range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
+ (void)addUnderLineWithLabel:(UILabel *)label changeStr:(NSString *)str andFont:(UIFont *)font andColor:(UIColor *)color{
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
NSRange range = NSMakeRange(label.text.length - str.length, str.length);
|
|||
|
|
[attr addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlinePatternSolid | NSUnderlineStyleSingle] range:range];
|
|||
|
|
[attr addAttribute:NSForegroundColorAttributeName value:color range:range];
|
|||
|
|
[attr addAttribute:NSFontAttributeName value:font range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
+ (void)addUnderLineWithLabel:(UILabel *)label range:(NSRange)range andFont:(UIFont *)font {
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[attr addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlinePatternSolid | NSUnderlineStyleSingle] range:range];
|
|||
|
|
[attr addAttribute:NSForegroundColorAttributeName value:HEXCOLOR(0x999999) range:range];
|
|||
|
|
|
|||
|
|
[attr addAttribute:NSFontAttributeName value:font range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)changeTextColorWithLabel:(UILabel *)label range:(NSRange)range color:(UIColor *)color {
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
if (range.location + range.length > label.text.length) {
|
|||
|
|
NSLog(@"range越界 -- %@,%ld,%ld", label.text, range.location, range.length);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
[attr addAttribute:NSForegroundColorAttributeName value:color range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)changeTextFontWithLabel:(UILabel *)label range:(NSRange)range font:(UIFont *)font {
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
if (range.location + range.length > label.text.length) {
|
|||
|
|
NSLog(@"range越界 -- %@,%ld,%ld", label.text, range.location, range.length);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
[attr addAttribute:NSFontAttributeName value:font range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+(void)changeTextWithLabel:(UILabel *)label changeStr:(NSString *)str font:(UIFont *)font andColor:(UIColor *)color {
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
NSRange range = NSMakeRange(label.text.length-str.length, str.length);
|
|||
|
|
[attr addAttribute:NSForegroundColorAttributeName value:color range:range];
|
|||
|
|
[attr addAttribute:NSFontAttributeName value:font range:range];
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)changeTextFontWithLabel:(UILabel *)label changeStrings:(NSArray<NSString *> *)strings font:(UIFont *)font {
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
for (NSString *str in strings) {
|
|||
|
|
NSRange range = [label.text rangeOfString:str];
|
|||
|
|
[attr addAttribute:NSFontAttributeName value:font range:range];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
+ (void)changeTextColorWithlabel:(UILabel *)label changeStrings:(NSArray<NSString *> *)strings color:(UIColor *)color {
|
|||
|
|
NSMutableAttributedString *attr;
|
|||
|
|
if (label.attributedText!=nil) {
|
|||
|
|
attr = [[NSMutableAttributedString alloc]initWithAttributedString:label.attributedText];
|
|||
|
|
}else{
|
|||
|
|
attr = [[NSMutableAttributedString alloc] initWithString:label.text];
|
|||
|
|
}
|
|||
|
|
for (NSString *str in strings) {
|
|||
|
|
NSRange range = [label.text rangeOfString:str];
|
|||
|
|
[attr addAttribute:NSForegroundColorAttributeName value:str range:range];
|
|||
|
|
}
|
|||
|
|
label.attributedText = attr;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// label 高度
|
|||
|
|
+(CGFloat)loadDynamicLabelHeightWithLabel:(UILabel *)lab
|
|||
|
|
{
|
|||
|
|
lab.lineBreakMode = NSLineBreakByWordWrapping;
|
|||
|
|
lab.numberOfLines = 0;
|
|||
|
|
NSDictionary *attributes = @{NSFontAttributeName:lab.font};
|
|||
|
|
CGSize size = [lab.text boundingRectWithSize:CGSizeMake(lab.frame.size.width,MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size;
|
|||
|
|
return size.height;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// label 宽度
|
|||
|
|
+(CGFloat)loadDynamicLabelWidthWithLabel:(UILabel *)lab
|
|||
|
|
{
|
|||
|
|
lab.lineBreakMode = NSLineBreakByWordWrapping;
|
|||
|
|
lab.numberOfLines = 1;
|
|||
|
|
NSDictionary *attributes = @{NSFontAttributeName:lab.font};
|
|||
|
|
CGSize size = [lab.text boundingRectWithSize:CGSizeMake(MAXFLOAT,lab.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size;
|
|||
|
|
return size.width;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
@end
|