IOS8,使用storyBoard对tableView的自适应

来源:互联网 发布:淘宝一元秒杀在哪里 编辑:程序博客网 时间:2024/05/18 12:32

很多人都知道,在以前对tableview的cell进行自适应时,都要先根据字符串的length然后计算tableView-RowHeight的高度,那么现在iOS8推出了一个新方法就可以解决。具体可看下面的例子:

自适应分为两种:一种,控件上下摆放,一种左右拜访,这两种只是在storyBoard约束时,有些许差异,下面我着重讲解一下。

1.创建一个工程,将原来Main.storyBoard里面的控制器删除,然后自己添加一个(我添加的有导航条的,便于返回),

注:将自带的删除之后,那么Main里面的指向箭头就没有了,那么如何让他再显示出来呢,点击导航条控制器:如下图


将蓝色按钮选中,指向箭头就出来了。

2.view上加两个按钮,如下,约束调好:上下适应约束:上、下、宽、高、水平居中,左右适应约束:上、宽、高、水平居中。如下图


3.直接push到下一个页面:

3.1:上下适应:上面是一个imageView,约束:上、下、左、右、定高。

下面是一个label,lines=0,约束:左、右、下、高 >= 49

然后,将label拉线,填充数据,在view controller里面需要加两句话即可:

- (void)viewDidLoad {

    [super viewDidLoad];


    //预计高度为143--即是cell高度

    self.tableView.estimatedRowHeight =143.0f;

    //自适应高度

    self.tableView.rowHeight =UITableViewAutomaticDimension;

}

运行效果如下:


3.2,左右适应:

一共三个控件,左:imageView,右上:label显示title,右下:label显示内容,约束条件,imageView不用任何操作,title和content都是针对contentView加的约束,操作方法,点击控件按ctrl然后鼠标拽着控件往左移动,拉到cell边缘,添加约束,如下图所示:


然后上下左右方向一样,title的高度是定的。

具体看下面小图:



对于title来说,向下的实是指title对content的.而content的是指content对contentView的。


conten的下。:


添加方法和上一个相同:

- (void)viewDidLoad {

    [super viewDidLoad];

//    //预计高度为121

    self.tableView.estimatedRowHeight =121.0f;

    //自适应高度

    self.tableView.rowHeight =UITableViewAutomaticDimension;

}

效果图如下:

到这,结束.!

注:转载请注明出处。谢谢!


0 0
原创粉丝点击