×

iOS 模块注解—「偷懒 || 效率 工具类」

96
白水ln
2017.05.12 12:00* 字数 144

自检


代码不会可以多敲几次,学习的重点是思想;-- 认同。
|
BUT
|
如果你把自己会的、熟知的、可以说写的似流水的代码,不管是在工作 或是 自学习中你还是一点一点的敲出来,是不是有点...<你脑补的是啥就是啥>,copy & paste 你可以认为是偷懒,我认为是为了效率;

SourceCodeToolsClassPublic-Codeidea

工具类 示例


MyUIKit-Category
/*
 *【设置占位文字的颜色】
 * @param placeholderColor  占位文字的颜色 属性
 * 通过这个属性名,就可以修改textField内部的占位文字颜色
 */
@property UIColor *placeholderColor;


/*
 *【方式四:runtime交换方法(修改UITextField的占位文字,且设置文字和文字颜色是无序的)】
 * @param placeholder       占位文字
 */
- (void)setLN_Placeholder:(NSString *)placeholder;
/*
 *【返回一张没有经过渲染的图片】
 * @param imageName  原始的图片
 */
+ (UIImage *)ln_imageWithOriginalImageName:(NSString *)imageName;

- (UIImage *)ln_imageWithOriginalImage;


/*
 *【返回一张受保护的图片(被拉伸的)】
 * @param prImageName   原始的图片
 */
+ (instancetype)ln_resizeImage:(NSString *)imageName;

- (UIImage *)ln_resizeImage;


/*
 *【根据颜色生成一张尺寸为1*1的相同颜色图片】
 * @param color  颜色
 */
+ (UIImage *)ln_imageWithColor:(UIColor *)color;


/*
 *【根据传入的图片,生成一张带有边框的圆形图片】
 *
 * @param image         原始图片
 * @param borderW       边框宽度
 * @param borderColor   边框颜色
 */
+ (UIImage *)ln_imageWithCircleImage:(NSString *)imageName Border:(CGFloat)borderW color:(UIColor *)borderColor;

- (instancetype)ln_circleImageWithBorder:(CGFloat)borderW color:(UIColor *)borderColor;

/*
 *【返回一张绘制字符串的图片】
 */
+ (UIImage *)ln_imageWithNSString:(NSString *)string font:(CGFloat)textFont color:(UIColor *)textColor clip:(BOOL)clip drawAtImage:(UIImage *)image drawAtPoint:(CGPoint)atPoint;


/*
 *【根据传入的图片,返回一张圆形图片】
 */
- (instancetype)ln_circleImage;

+ (instancetype)ln_circleImageNamed:(NSString *)name;


/*
 *【返回一张抗锯齿图片】
 * 本质:在图片生成一个透明为1的像素边框
 */
- (UIImage *)ln_imageAntialias;


/*
 *【固定宽度与固定高度】
 */
- (UIImage *)scaleWithFixedWidth:(CGFloat)width;
- (UIImage *)scaleWithFixedHeight:(CGFloat)height;


/*
 *【裁剪图片的一部分】
 */
- (UIImage *)croppedImageAtFrame:(CGRect)frame;


/*
 *【将自身填充到指定的size】
 */
- (UIImage *)fillClipSize:(CGSize)size;

MyFoundation-Category
/**
 *  计算字符串宽度(指当该字符串放在view时的自适应宽度)
 *
 *  @param size 填入预留的大小
 *  @param font 字体大小
 *  @param isBold 字体是否加粗
 *
 *  @return 返回CGRect
 */
- (CGRect)stringWidthRectWithSize:(CGSize)size fontOfSize:(CGFloat)font isBold:(BOOL)isBold;


/**
 *  @brief 根据字数的不同,返回UILabel中的text文字需要占用多少Size
 *  @param size 约束的尺寸
 *  @param font 文本字体
 *  @return 文本的实际尺寸
 */
- (CGSize)textSizeWithContentSize:(CGSize)size font:(UIFont *)font;

/**
 *  @brief  根据文本字数/文本宽度约束/文本字体 求得text的Size
 *  @param width 宽度约束
 *  @param font  文本字体
 *  @return 文本的实际高度
 */
- (CGFloat)textHeightWithContentWidth:(CGFloat)width font:(UIFont *)font;

/**
 *  @brief  根据文本字数/文本宽度约束/文本字体 求得text的Size
 *  @param height 宽度约束
 *  @param font  文本字体
 *  @return 文本的实际长度
 */
- (CGFloat)textWidthWithContentHeight:(CGFloat)height font:(UIFont *)font;




//--------------------------- 【正则表达式】 ------------------------------//
//

- (BOOL)isQQ;
- (BOOL)isPhoneNumber;
- (BOOL)isIPAddress;






//--------------------------- 【目录全路径】 ------------------------------//
//

/**
 *  md5加密
 */
+ (NSString*)md5HexDigest:(NSString*)input;
/**
 *  根据文件名计算出文件大小
 */
- (unsigned long long)lx_fileSize;
/**
 *  生成缓存目录全路径
 */
- (instancetype)cacheDir;
/**
 *  生成文档目录全路径
 */
- (instancetype)docDir;
/**
 *  生成临时目录全路径
 */
- (instancetype)tmpDir;
/*
 *【字典转模型KVC实现(自动生成模型属性代码)】
 */
- (void)createPropertyCode;
工具图
NET
Web note ad 1