UITableView是最常用的控件顺呕,也是要求必須要求掌握的基礎(chǔ)控件
#define SIZE_WIDTH [UIScreen mainScreen].bounds.size.width
#define SIZE_HEIGHT [UIScreen mainScreen].bounds.size.height
1.代碼創(chuàng)建
UITableView*SELFTableview=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, SIZE_WIDTH,SIZE_HEIGHT )];
SELFTableview.delegate=self;
SELFTableview.dataSource=self;
[self.view addSubview:SELFTableview];
還有都是到要把代理方法引用@interface : UIViewController<UITableViewDelegate,UITableViewDataSource>
2.其還有兩個必須實現(xiàn)的代理方法
(1)- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section邓夕;
(2)- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
(這樣我們就簡單完成了UITableView的代碼創(chuàng)建)
3.這時候我們就用tableview來實現(xiàn)我們的需求(自定義也好暇藏,直接用也行)
那么問題來了,UITableViewCell的cell之間會默認(rèn)帶一條分割線(畢竟是表嗎濒蒋,肯定要有線的)但是盐碱,他自帶的線條不頂頭,在左邊總會有20左右px沪伙。那么怎么補(bǔ)全呢?我在這里簡單提供兩種解決方案
1>
直接隱藏系統(tǒng)的
分割線瓮顽,自己寫一個高度為1px,寬度為屏幕寬度的細(xì)線來代替(還可以自定義顏色多好)
2>
我們用系統(tǒng)提供的一個方法我這邊就是用的這個方法(直接拷貝围橡!直接用)
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPat{
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
if ([cell respondsToSelector:@selector(setSeparatorInset:)]){
[cell setSeparatorInset:UIEdgeInsetsZero];
}
if([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]){
[cell setPreservesSuperviewLayoutMargins:NO];
}
}