AutoLayout自动布局cell
2017-09-19 本文已影响27人
json_jie
声明:本人约束党, 约束内容不讲解,直接看代码部分
最近整理一下
**之前的关于 自动布局cell 的文章的地址
http://www.jianshu.com/p/7ebd8b02deba **
试用于iOS8之前的
iOS8之后自动布局cell
1. TableView 打开自动高度功能
- (void)viewDidLoad 函数里边
_tab.estimatedRowHeight=44; // 最好给一个高度的大约的平局值
_tab.rowHeight=UITableViewAutomaticDimension;
2. 自定义高度给关掉
效果
QQ20170919-170951.gif上主要的代码
//
// ViewController.m
// auto
//
// Created by jie on 2017/9/19.
// Copyright © 2017年 jie. All rights reserved.
//
#import "ViewController.h"
#import "AutoTableViewCell.h"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
{
NSMutableArray *_dataSource;
__weak IBOutlet UITableView *_tab;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_dataSource = [[NSMutableArray alloc] initWithCapacity:0];
for(int i = 0 ; i < 10 ;i++){
switch (i) {
case 0:{
NSString * s = @"湿哒哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块";
[_dataSource addObject:s];
}
break;
case 1:{
NSString * s = @"湿哒哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块";
[_dataSource addObject:s];
}
break;
case 2:{
NSString * s = @"湿哒哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开";
[_dataSource addObject:s];
}
break;
case 3:{
NSString * s = @"湿哒哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师";
[_dataSource addObject:s];
}
break;
case 4:{
NSString * s = @"湿哒哒干哈师大";
[_dataSource addObject:s];
}
break;
case 5:{
NSString * s = @"湿哒哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝爱神的箭等哈手机宽带哈大暨大撒就开喝爱神的箭等哈手机宽带哈手机宽带哈啊饥渴大红烧鸡块哒干哈师大暨大撒就开喝爱神的";
[_dataSource addObject:s];
}
break;
default:
break;
}
}
_tab.estimatedRowHeight=44;
_tab.rowHeight=UITableViewAutomaticDimension;
[_tab reloadData];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 100;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *strId = @"AutoTableViewCell";
AutoTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:strId];
if (cell == nil) {
cell = [[[NSBundle mainBundle]loadNibNamed:@"AutoTableViewCell" owner:self options:nil]lastObject];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
for(int i = 0; i < 5 ; i++){
NSInteger index = arc4random()%5;
if(i == 0){
cell.labe1.text = _dataSource[index];
}else if (i == 1){
cell.labe2.text = _dataSource[index];
}else if (i == 2){
cell.labe3.text = _dataSource[index];
}else {
cell.labe4.text = _dataSource[index];
}
}
return cell ;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewAutomaticDimension;
}
@end