首先,小师父要我完成的表视图是这个样子的:
刚开始,只考虑下面表视图的内容。
新建一个project,我刚开始是想着用storyboard完成的,但是拖控件拖着拖着就想着,这是什么鬼,于是,开始了我的纯代码之旅,微笑脸,纯代码使我快乐。
删除 Main Interface 后面的main,在AppDelegate.m里面导入ViewController.h文件,然后,,,复制粘贴几乎不会变的几行代码:
self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
self.window.rootViewController=[[ViewController alloc]init];
self.window.backgroundColor=[UIColor whiteColor];
[self.window makeKeyAndVisible];
接下来,就可以愉快的玩耍了。
想着数据放哪呢,就新建了一个plist文件:
开始新建了一个tableViewCell类,来屁颠屁颠的设置这些个控件。最后效果也不咋滴,最后,小师父怕是看不下去了,重新新建了一个类,叫做TwoTableViewCell,加上了XIB文件,于是我就在XIB文件里拖好了控件,也加好了约束。
then,在ViewController里面解析plist文件里面的数据。后来小师父给我讲了下MVC模式,于是新建了个DataModel来封装数据。
初始化方法。
-(instancetype)initWithDictionary:(NSDictionary *)dict;
-(instancetype)initWithDictionary:(NSDictionary *)dict{
if (self = [super init]) {
[self setValuesForKeysWithDictionary:dict];
}
return self;
}
具体代码还是发个链接吧
还有几个小问题:
因为它的button都是圆角的,我找半天发现并不能直接设置,只能用可爱的代码来实现,就像这样:
//设置button的边框和边框颜色
cell.buttonRight.layer.cornerRadius=8;
cell.buttonRight.layer.masksToBounds=YES;
[cell.buttonRight.layer setBorderColor:[UIColor orangeColor].CGColor];
//设置button边缘的圆角和button上的字
[cell.buttonRight.layer setBorderWidth:1];
[cell.buttonRight.layer setMasksToBounds:YES];
[cell.buttonRight setTitle:model.buttonRight forState:UIControlStateNormal];
其实我以前设置button圆角都是直接贴的圆角背景图。。。。。。
还有就是这个颜色,上面那种设置颜色的方法并不能随便设置想要的颜色,于是就有了这样一个方法:
_mainView.layer.borderColor =[UIColor colorWithRed: 0xc4/255.0 green:0xd7/255.0 blue:0xf0/255.0 alpha:1.0].CGColor;
这个颜色是c4d7f0,十六进制的,浅蓝色。前面加个0x是让它自动识别这个是十六进制的,不然你就要手动把它换算成十进制的了,后面要/255.0,,,我也不是很清楚为啥。。。后面alpha设置为1就行了。
最后,这个是我的效果图,虽然很糙,但是,,,没有但是,就酱。