首先,小師父要我完成的表視圖是這個樣子的:
剛開始,只考慮下面表視圖的內容。
新建一個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就行了。
最后,這個是我的效果圖,雖然很糙,但是,,,沒有但是,就醬。