码迷,mamicode.com
首页 > 其他好文 > 详细

uitable里的分割线

时间:2015-06-23 20:06:45      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

到了iOS8上,发现uitable是越来越不会用了;不说了,先看一下截屏效果:

设计期望的效果是:

1,自定义一个单元格,背景是黄色的;期望铺满整个表格单元;

2,单元分割线是贯通;


现实与理想的差别如下:

1,黄颜色单元格没能横向铺满整个单元;

2,分割线右侧没有拉到头;

3,我只花了三个单元格;没有充满的空间,OS里也画上了分割线。

技术分享


这是我的解决方法:

解决问题1的方式是:

设置table的边距:[tableView setLayoutMargins:UIEdgeInsetsMake(0, 0, 0, 0)];

这是iOS8上新出的特性,所以这个问题在iOS7上没有的。


解决问题2和3的方式是:

第一步:设置统一设置表格的分割线留空     [tableView setSeparatorInset:UIEdgeInsetsMake(0, 1000, 0, 0)];

这里设置分割线横行留空1000个像素,这个的目的是为了让所有的分割线画到视图之外,这样子可以让iOS自动补上的分割线都不可见了。


第二步:针对每个单元格设置留空:

    [cell setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];
    [cell setLayoutMargins:UIEdgeInsetsMake(0, 0, 0, 0)];

这样可以让我们需要的单元格分割线回到视图中。


#import "ViewController.h"

#import "DemoCell.h"

@interface ViewController ()
{
    IBOutlet UITableView *tableView;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    //以下两行为关键代码
<strong>    [tableView setLayoutMargins:UIEdgeInsetsMake(0, 0, 0, 0)];
    [tableView setSeparatorInset:UIEdgeInsetsMake(0, 1000, 0, 0)];</strong>
    
    [tableView setSeparatorColor:[UIColor redColor]];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 3;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    DemoCell *cell =  (DemoCell*)[[[NSBundle mainBundle] loadNibNamed:@"DemoCell" owner:self options:nil] lastObject];
    
    //以下两行为关键代码
<strong>    [cell setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];
    [cell setLayoutMargins:UIEdgeInsetsMake(0, 0, 0, 0)];
</strong>
    return cell;
}

@end


uitable里的分割线

标签:

原文地址:http://blog.csdn.net/smallhorse87/article/details/46608777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!