您的位置:首页 > 移动开发 > IOS开发

[置顶] IOS8,使用storyBoard对tableView的自适应

2016-07-05 08:57 369 查看
很多人都知道,在以前对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;

}
效果图如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: