swift学习 - tableView自适应高度1(xib autoLayout)
tableView自适应高度
效果图:

源码:
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
var tableView:UITableView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
setupTableView()
}
func setupTableView() {
tableView = UITableView(frame: view.bounds, style: .plain)
tableView?.delegate = self;
tableView?.dataSource = self;
tableView?.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableView?.register(UINib.init(nibName: "customCell", bundle: nil), forCellReuseIdentifier: "customCell")
view.addSubview(tableView!)
tableView?.estimatedRowHeight = 44.0
tableView?.rowHeight = UITableViewAutomaticDimension
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "customCell", for: indexPath) as! customCell
// 制造假数据使之cell的高度不固定
if indexPath.row%2==0
{
cell.lb.text = "rewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrew";
}
else
{
if indexPath.row%3==0 {
cell.lb.text = "rewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrewrew";
}
else
{
cell.lb.text = "sddfdfsdrewrewrewrewrsf";
}
}
return cell;
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("当前选中了\(indexPath.row)行")
}
}
xib布局介绍 :
1.上面label layout

2.下面label2 layout (label2可以显示多行numberOfLines = 0 )

关键代码:利用tableView自带的自适应高度的方法
tableView?.estimatedRowHeight = 44.0
tableView?.rowHeight = UITableViewAutomaticDimension
swift学习 - tableView自适应高度1(xib autoLayout)的更多相关文章
- swift学习 - tableView自适应高度2(SnapKit Layout)
SnapKit是Swift中自动布局的框架,相当于Objective-C中的Masonry 下面是tableView自定义cell,使用SnapKit布局的效果图: 详细代码如下: TYCustomC ...
- 【swift学习笔记】三.使用xib自定义UITableViewCell
使用xib自定义tableviewCell看一下效果图 1.自定义列 新建一个xib文件 carTblCell,拖放一个UITableViewCell,再拖放一个图片和一个文本框到tableviewc ...
- 纯代码TableView自适应高度(很老的使用方法)
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return ...
- TableView cell自适应高度-----xib
1.通过xib创建一个cell,将label进行上左下右,进行适配, self.automaticallyAdjustsScrollViewInsets = NO; self.edgesForExte ...
- IOS Swift语言开发 tableView的重用以及自cell的自适应高度
http://www.aichengxu.com/iOS/11143168.htm 一.准备数据 (这是一个元组,第一个元素为英雄的名字;第二个元素为英雄头像图片的名字,格式为.PNG,如果为其他的格 ...
- [Swift通天遁地]二、表格表单-(12)设置表单文字对齐方式以及自适应高度的文本区域TextArea
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- 让tableView的高度等于contentSize的高度、动态调整tableView的高度、tableView的高度自适应布局
文章概要: 1.简介下,tableView中的内容如何高度自适应的布局 2.如何做到让tableView的高度动态调整 还是看图作文吧- 首先,tableView的高度就是用户能够看见里面更大世界的那 ...
- Cell自适应高度及自定义cell混合使…
第一部分:UItableViewCellAdaptionForHeight : cell的自适应高度 第二部分:CustomTableViewCell:自定义cell的混合使用(以简单通讯录为例) = ...
- iOS - UITextView放在自定义cell里面-自适应高度
textView放在自定义cell里面-自适应高度 1,textView有个属性 scrollEnabled 要设置为NO; 2,设置tableview的时候 添加这两行代码: self.tabl ...
随机推荐
- 程序设计 之 C#实现《拼图游戏》 (下) 原理篇
前言:在 http://www.cnblogs.com/labixiaohei/p/6698887.html 程序设计 之 C#实现<拼图游戏>(上),上传了各模块代码,而在本文中将详细剖 ...
- PAT 1047
1049. Counting Ones (30) The task is simple: given any positive integer N, you are supposed to count ...
- 第一章:Druid简介
第一章:Druid简介 声明 公司的项目中用到了Druid(不是阿里的连接池),由于网上没有中文的文档,所以只好阅读官方文档.本人第一次阅读英文的文档,非常吃力,借助翻译工具和自己的理解阅读了Duri ...
- extern用法详解
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义. 另外,extern也可用来进行链接指定. 2 问题:ext ...
- 原生JS和JQuery代码编写窗口捕捉函数和页面视觉差效果(scroll()、offsetTop、滚动监听的妙用)
想实现窗口滚动到一定位置时,部分网页的页面发生一些变化,但是手头没有合适的插件,所以就想到自己编写一个简易的方法, 想到这个方法要有很高的自由度和适应性,在这,就尽量的削减其功能,若有错误的地方或者更 ...
- 计算机的启动和Linux的启动
计算机的启动和Linux的启动 一 计算机的启动 计算机的启动过程分为四个阶段,分别是:BIOS.MBR.启动管理程序.加载操作系统内核.操作系统启动. 1.1 BIOS 计算机加电后,第一件 ...
- 关于BSTR和SysStringLen方法的简单研究
英文的我编不下去了,所以还是先写个中文的吧, 之前遇到了SysStringLen求Bstr长度不正确的问题,试验了几次都不行的情况下我觉得可能是这个方法的bug,所以就没管. 大概的情况是这样: in ...
- IDEA 安装scala插件
安装scala插件一般有两种方式,在IDEA里面下载或者手动安装 手动安装 首先是下载需要的插件包,官网下载实在太慢,这里提供我下载好的文件,会按时更新成最新版 https://pan.baidu.c ...
- 简单的3D图片轮播dome
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- maven(02)--简单的命令操作
使用maven有什么好处呢? 这个问题留到该文的末尾进行总结>v< maven测试 在上一篇文章中介绍了如何简单的编译一个java文件,执行mvn compile命令后,你会发现在你新建的 ...