先介绍几个九宫格小算法算法
- 计算行索引
NSInteger rowIndex = i / kColumn; - 计算列索引
NSInteger columnIndex = i % kColumn; - 根据索引计算x和y值
x:
CGFloat X = columnIndex * (yellowViewWidth + margin) + margin;
y:
CGFloat Y = rowIndex * (yellowViewHeight + margin) + margin;
一些小的基础知识
-
设置button的属性
设置backgroundImage, image, title , 一定要分状态设置
默认
高亮 --> 按钮被点击的时候, 自动切换到高亮状态
被选中 --> 设置button的selected 属性为YES
被禁用 --> 设置button的enabled 设置为 NO的时候为不可用
Button.titleLabel.font --> 设置button中文本的字体大小� -
设置字体样式
+ (UIFont *)systemFontOfSize:(CGFloat)fontSize; 默认体
+ (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize; 加粗体
+ (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize; 斜体 -
加载xib
UIView *yellowView = [[[NSBundle mainBundle] loadNibNamed:@"YellowView" owner:nil options:nil] lastObject]; -
懒加载数据模板
- (NSArray *)dataArray {
if (nil == _dataArray) {
// 1. 读取文件的路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
// 2. 读取文件内容到临时数组
NSArray *tempArray = [NSArray arrayWithContentsOfFile:path];
// 3. 遍历tempArray数组 把字典转为 appModel对象
NSMutableArray *muta = [NSMutableArray array];
for (NSDictionary *dict in tempArray) {
// 通过对象方法实例化 appModel
AppModel *appModel = [AppModel appModelWithDict:dict];
// 添加到可变数组
[muta addObject:appModel];
}
// 4. 把可变数组赋值给 _dataArray
_dataArray = muta;
}
return _dataArray;
}
网友评论