version 1.0 ; 2014-11-4 by leiiwang
0.简介
这个类中包含了一些视觉有关的工具函数,大部分是上次视觉改版的时候本人使用的,很多方法当时是临时使用,有些不规范的地方,有待优化,但是觉得统一管理和修改UI的思路并没有错,伟征觉得本次视觉改版可以把这个类修改优化规范起来,所以简要的介绍这个工具类的内容,介绍次序依照本次改版的视觉规范。
1.颜色
这次视觉改版(3.0)把一些全局常用的颜色定义了一遍,个人觉得正常的编码中不该出现任何的常数,我们应该把常用的颜色全都定义在QMUiutil中,使用的使用直接访问这个颜色的宏定义就可以了,这样方便修改。
#define ViewBackGroundColor [UIColor colorWithRed:(0xec/255.0) green:(0xef/255.0) blue:(0xf3/255.0) alpha:1] //全局view使用的背景色 236 239 243
#define ViewBackGroundColorWhilte [UIColor colorWithRed:(0xff/255.0) green:(0xff/255.0) blue:(0xff/255.0) alpha:1]全局view使用的背景色 白色 一般用作前景色
#define BarBackGroundColorGray [UIColor colorWithRed:(0xe6/255.0) green:(0xe9/255.0) blue:(0xef/255.0) alpha:1]//背景颜色灰色 目前用于展开的cell
2.字体
和颜色类似,app中使用的字体种类不多,所有的代码中的字体应该都在这里获取(直接在xib中设置的也应该保持一致)
#define TitleFontXihei [UIFont fontWithName:@"Heiti SC" size:14.0]// 一种title使用的字体
#define TableHeaderFont [UIFont fontWithName:@"Helvetica" size:17.0]// 一种tableheader的字体
#define TableTitleFontXihei [UIFont fontWithName:@"Heiti SC" size:17.0]//一种table中使用的字体
3.大小
一些常用的视觉如tabbar高度,cell高度,常用类型的button大小都是全局统一了,也可以在这里设置和统一修改
#define kQMNavigationBarHeight 48
#define tab4BarHeight 48
#define naviButtomHeight 56
#define tab4BarimgPadding 5
#define tab4BarimgHeight 24
#define SectionHeadHeight 22 // table的sectionheader高度 这个一般是一致的
4.图片
通用的图片素材包括常用的button,背景图片等可以在这里设置和统一修改
#define roundButtonBlueBackImage @"btn_blue_noborder"
#define roundButtonBlueBackImagePress @"btn_blue_noborder_press"
5.提示语
全局统一的提示语主要是如:无法定位,网络未开启,我觉得也可以在这里定义(目前没有加)
6.列表
QMUiutil中定义了一些辅助函数,主要用于设置tableview的分割线,主要是formatCellBackgroundRound函数,可以根据我们的设计规范定义几种不同的cell(3.0改版时可以直接修改这个函数)
/**
typedef NS_ENUM(NSUInteger, TableViewCellType) {
TableViewCellTypeNormalWithOutterBorder, //一种最常用到tablecell 内部有seperator 有外边也有内部的seperator,注意内部的seperator和section最外面的分割线颜色是不一样的
TableViewCellTypeNormalNoOutterBorder, //一种内部有seperator 但是没有外边
TableViewCellTypeNormalWithOutterBorderAndHasIndent,// 内部有seperator 有外边 但是内部的seperator是有indent的 类似ios7的默认table
};
* @brief 格式化cell;所有的tablecell 目前有三种式样 1.有外边框 2.无外边框的 3. 内部有indent 的 cell白色 选择态 灰色 修改自 qmtableView 以后逐渐废弃 qmtableview
*
* @param cell 待格式化的cell
* @param height 当前cell的高度 rowheight
* @param countOfSection 当前cell所在的section的列数目 rowcount in current section
* @param currentPosition 当前cell在section中的位置 row in current section
* @param type 类型选择 注释见 TableViewCellType
*
* @return nil
*/
+(void)formatCellBackgroundRound:(UITableViewCell*)cell height:(int)height countOfSection:(int)count currentPosition:(int)row type:(TableViewCellType)type;
7.其他工具函数
QMUiutil定义了一些辅助的工具函数,主要是为了减少重复代码,有些工具类做得不太好,希望大家一起来优化,但是工具类的个数需要控制,旧的不适用的即使删除或者改进,防止类过度膨胀到不可用的程度。
// 给imgview设置 拉伸图片
+(void)setImgViewWithStrethImg:(UIImageView *)imageView imgName:(NSString *)imgName;
// 给button 设置拉伸图片
+(void)setButtonWithStrethImg:(UIButton *)aButton imgN: (UIImage *)imageNormal imgP: (UIImage*)imagePressed edgeInsets:(UIEdgeInsets) edgeInsets;
+(void)setButton:(UIButton*)btn ImgName:(NSString*)imageNameN imP: (NSString *)imageNameP;
// 给button 设置背景拉伸图片
+(void)setButtonBackGroundImgName:(UIButton*)aButton imN: (NSString *)imageName;
// 左右两边拼接起来的两个 button 只设置点击后的图片 原始为白色
+(void)SetButtonImgLeftAndRight:(UIButton *)buttonL right:(UIButton *)buttonR;
// 给一个view加上下面的border 包括navigationbar searchbar
+(void)AddBottomBorder:(UIView *)aview;
// 给一个view加上上面的border cell
+(void)AddUpperBorder:(UIView *)aview;