FBDTools 0.1.2

FBDTools 0.1.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2016年12月

宝东.冯维护。



FBDTools 0.1.2

  • 作者:
  • fengbaodong

FBDTools 工具类的简介

使用说明

步骤1:在项目的 pod 文件里面添加一句话: pod 'FBDTools', '0.1'

步骤2:在命令行中运行 pod install ;

步骤3:回到 Xcode 中直接使用 COM+R 键组合;

步骤4:在编写代码前需要导入头文件 UIView+FBDQuickCreateUI ShowAlertTool FBDChineseCodeTool 等文件;

使用场景

以前 iOS 的界面问题都是使用 frame 来布局,它是一个结构体(起点 xy,大小 size),在此基础上封装了 UIView+FBDQuickCreateUI 这个类别;因为我们的 UI 控件大部分都是继承 UIView 的,所以初始化控件可以在 UIView 的基础上扩展,其中包含了快速生成控件的 API;

具体分析

/**
 *  快速创建UIButton
 *
 *  @param frame 位置
 *
 *  @return UIButton 实例
 */
-(UIButton*)fbd_quickCreateUIButtonWithFrame:(CGRect)frame;
/**
 *  快速创建UILabel
 *
 *  @param frame 位置
 *
 *  @return UILabel 实例
 */
-(UILabel*)fbd_quickCreateUILabelWithFrame:(CGRect)frame;

/**
 *  快速创建UIView
 *
 *  @param frame 位置
 *
 *  @return UIView 实例
 */
-(UIView*)fbd_quickCreateUIViewWithFrame:(CGRect)frame;

/**
 *  快速创建UIImageView
 *
 *  @param frame 位置
 *
 *  @return UIImageView 实例
 */
-(UIImageView*)fbd_quickCreateUIImageViewWithFrame:(CGRect)frame withImageName:(NSString*)imageName;

/**
 *  快速创建UIImage
 *
 *  @param frame 位置
 *
 *  @return UIImageView 实例
 */
-(UIImage*)fbd_quickCreateUIImageWithImageName:(NSString*)imageName;


/**
 *  快速创建UITextFiled
 *
 *  @param frame 位置
 *
 *  @param placeHold 占位符
 *
 *  @return UIImageView 实例
 */
-(UITextField*)fbd_quickCreateUITextFeildWithFrame:(CGRect)frame withPlaceHold:(NSString*)placeHold;
/**
 *     @author 冯宝东, 16-02-22 14:02:32
 *
 *     快速创建 UITableView
 *
 *     @param frame    位置
 *     @param delegateDataSource 代理和数据源
 *
 *     @return <#return value description#>
 */
-(UITableView*)fbd_quickCreateUITabdWithleViewFrame:(CGRect)frame andDelegateAndDataSource:(id)delegateDataSource;

以及还有对控件的frame的快捷操作API:

#pragma mark  快速获取frame的各个属性
/**
 *  快速获取起点X坐标
 *
 *  @return 起点X坐标
 */
-(CGFloat)view_orignX;
-(void)setView_orignX:(CGFloat)x;
/**
 *  快速获取起点Y坐标
 *
 *  @return 起点Y坐标
 */
-(CGFloat)view_orignY;
-(void)setView_orignY:(CGFloat)y;
/**
 *  快速获取宽度
 *
 *  @return 获取宽度
 */
-(CGFloat)view_sizeWidth;
-(void)setView_sizeWidth:(CGFloat)width;


/**
 *  快速获取高度
 *
 *  @return 获取高度
 */
-(CGFloat)view_sizeHeight;
-(void)setView_sizeHeight:(CGFloat)height;
-(void)setView_addSizeHeightBy:(CGFloat)height;


/**
 *  快速获取     center 的坐标
 *
 *  @return     center 的坐标
 */
-(CGPoint)view_center;
-(void)setView_centerX:(CGFloat)centerX centerY:(CGFloat)centerY;
/**
 *  快速获取center 的 X 坐标
 *
 *  @return center 的 X 坐标
 */
-(CGFloat)view_centerX;
-(void)setView_centerX:(CGFloat)centerX;

/**
 *  快速获取     center 的 Y 坐标
 *
 *  @return     center 的 Y 坐标
 */
-(CGFloat)view_centerY;
-(void)setView_centerY:(CGFloat)centerY;






/**
 *  通过所有子视图的遍历获得自身的高度
 *
 *  @return 自身的高度
 */
-(CGFloat)viewHeightByAllSubView;

/**
 *  快速创建九宫格
 *
 *  @param frame      九宫格的frame
 *  @param H          代表横排有几个Item
 *  @param imageArray 图片数组
 *  @param titleArray 标题数组
 *  @param tSender    tager 绑定
 *
 *  @return 九宫格实例视图
 */

-(UIView*) fbd_quickCreateUIItemNightView:(CGRect)frame withHorizontal:(NSInteger)H wihImageArray:(NSArray*)imageArray withTitleArray:(NSArray*)titleArray withTarget:(id)tSender;

但自从苹果 6 和 苹果 6 Plus 发布之后,苹果开始推荐使用 AutoLayout 来布局 UI 界面;也有许多第三方开始基于苹果的约束机制封装一些工具类,著名及常用的有:Masonry_Xcode6 框架;具体的使用代码请查看 Masonry:git 地址:https://github.com/cloudkite/Masonry

总结:

约束布局确实快而便捷,但使用动画时,使用UIView的类Block方法动画看起来似乎不可行,非得用BaseAnimation 动画框架;实际上,从Masonry到控件的最终显示,最终还是用的Frame,所以这个工具还是有用的,至少快速改变UI界面很方便,所以结合使用才是王道!