首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Interface Builder中更改UITableView时,UITableViewCell高度在UITableView中不会发生变化

在Interface Builder中更改UITableView时,UITableViewCell高度在UITableView中不会发生变化,可能是因为UITableView的rowHeight属性没有设置正确。

首先,确保UITableView的rowHeight属性设置为UITableViewAutomaticDimension,这样才能让UITableView自动计算并调整单元格的高度。

代码语言:swift
复制
tableView.rowHeight = UITableViewAutomaticDimension

接下来,确保UITableView的estimatedRowHeight属性设置为一个合适的值,这将帮助UITableView更准确地计算单元格的高度。

代码语言:swift
复制
tableView.estimatedRowHeight = 44.0

在Interface Builder中,确保UITableViewCell的约束设置正确,以便在更改UITableView时,UITableViewCell高度能够自动调整。

最后,确保在UITableView的cellForRowAt方法中正确设置UITableViewCell的内容,以便在更改UITableView时,UITableViewCell高度能够正确显示。

代码语言:swift
复制
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "MyTableViewCell", for: indexPath) as! MyTableViewCell
    // 设置cell的内容
    cell.myLabel.text = "Hello, World!"
    return cell
}

如果问题仍然存在,请检查UITableView的其他属性设置,例如sectionHeaderHeightsectionFooterHeight等,确保它们的值也设置正确。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS-UITableView 详解(一)

分组样式UITableViewStyleGrouped UITableViewCell UITableView每行都是一个UITableViewCellUITableViewCell的样式我们可以通过...textLabel,左下方显示detailTextLabel(默认灰色),imageView可选(显示最左边) }; 简单使用 接下来我们先来完成一个简单的UITableView的使用 首先看一下数据结构关系...50; } //返回脚分组标题高度 -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section...*)indexPath { return 50; } @end 这个时候我们发现,当我们设置UITableView的style为UITableViewStylePlain,我们依然实现返回分组数...,和返回分组头标题两个方法,这时当我们滑动tableVIew,头标题还会自动停留的屏幕最上方,效果如下 ?

1.3K50

UITableView基础1. UITableView的作用2. UITableView的常用属性3. tableView展示数据三部曲4. UITableViewStyleGrouped样式5. U

2.5 UITableViewCell的selectionStyle属性可设置被选中的背景颜色 属性名称 作用 UITableViewCellSelectionStyleNone 没有颜色 UITableViewCellSelectionStyleBlue...蓝色(默认) UITableViewCellSelectionStyleGray 灰色 3. tableView展示数据三部曲 遵守数据源协议; 设置数据源 实现相应数据源方法 cell的默认高度是...= self; 3.3 实现数据源方法 总共多少组 每组多少行 每组每行的内容 //返回有多少组 - (NSInteger)numberOfSectionsInTableView:(UITableView...:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ //创建UITableViewCell...但是可以初始化的时候直接定义。

91240
  • 如何在复杂TableView界面开发变得优雅

    完整地实现一个UITableView,需要在较多的方法设定UI逻辑。...可以想象,如果界面需求发生变化,调整行数或将某个cell的位置移动一下,修改成本是非常大的。...问题的原因也很明显,代码存在如此之多的hard code值和重复的逻辑,分散了各个protocol方法。所以解决这个问题,我们需要通过一种方法将所有这些UI逻辑集中起来。...//JWJBaseTableViewCell.h #import @interface JWJBaseTableViewCell : UITableViewCell @property...【2】 ViewManger可以统计处理各个试图的交互事件,也是替 VC 减负的一种措施,但是本例并没有设置这样一个 ViewManager对象,如果一旦 VC处理 View的事件多起来后就可以增加这样一个对象了

    1.2K40

    【IOS开发基础系列】Table View开发专题

    的宽度是320高度是44         因为iOS5的时候, 默认Cell就是320宽(那阵屏幕就是那么宽,然后高度是44) 现在是layoutSubViews 重新绘制这个cell的宽度和高度,...因此cell不可见,可以将其缓存起来,而在需要继续使用它即可。...函数调用UIGraphicsGetImageFromCurrentImageContext(C函数)生成UIImage,然后传递给B函数去处理,这样内存会暴涨。...做到前几点后,你的table view滚动应该足够流畅了,不过你仍可能让用户感到不爽。常见的现象就是更新数据,整个界面卡住不动,完全不响应用户请求。...例如每次载入50条信息,那就可以滚动到倒数第10条以内,加载更多信息: - (void) tableView: (UITableView *)tableView willDisplayCell: (

    33120

    iOS 架构组件:让你的 TableView 优雅起来

    >协议方法来配置布局逻辑,面向协议设计模式苹果的代码设计很常见,它能适应大部分的业务场景且足够灵活。...这种方式优点很多,比如某一刻组件只需要关心当前需要的数据,避免了多余的计算,同时也可以让数据及时释放减小内存峰值。...UITableView相关的协议方法充分体现了单一职责原则,比如一个协议方法返回 Cell 的高度,一个协议方法返回 Cell 的实例。...@end 然后UITableView相关各个协议方法里从NSArray layoutArray数组拿到数据配置就行了,如此,开发者只需要关心如何构建layoutArray...不过不管哪种方式来说都不太优雅了,在业务开发应该多考虑一下,UITableViewCell中会不会有大量的事件需要传递到最外层的业务,比如跳转界面、网络请求等就可以直接在UITableViewCell

    1.8K40

    iOSCoreData数据管理系列四——进行数据与页面的绑定

    iOSCoreData数据管理系列四——进行数据与页面的绑定 一、引言     在上一篇博客,我们讨论了CoreData框架添加与查询数据的操作,事实上,大多数情况下,这些数据都是由一个UITableView...代码示例如下: //遵守协议 @interface ViewController () {     //数据桥接对象     NSFetchedResultsController...initWithFetchRequest:managedObjectContext:sectionNameKeyPath:cacheName:方法,如果设置第三个参数,则会以第三个参数为键值进行数据的分区...当数据发生变化时,将通过代理进行方法的回调。...三、与UITableView进行数据绑定  -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath

    70610

    【iOS7一些总结】9、与列表显示():列表显示UITableView

    UITableView定义头文件UITableView.h,详细的定义能够查看官方文档;从定义能够看出,UITableView继承自UIScrollView类,因此支持方便地显示列表数据的同一候...详细的使用过程,能够创建一个独立的UITableView,也能够直接创建一个UITableViewController。...新生成的ViewController.m文件里重写loadView方法,新建一个UITableView视图。 (别忘了把alloc的视图dealloc函数释放。)...托付方法一般用于实现个性化处理表视图的基本样式(如单元格的高度等)以及捕捉单元格选中的响应。数据源方法用于完毕表的数据。如指定单元格数。以及创建每个单元格。 要实现代理和数据源方法。...做例如以下改动: @interface ViewController : UIViewController 而且tableView

    1.9K40

    iOS-UI控件之UITableView(一)

    的两种样式只读属性 只读属性,代码不能修改 UITableViewStylePlain 一组显示Section = 1; UITableViewStyleGrouped 分组显示Section...要解决该问题,需要重用UITableViewCell对象 重用原理:当滚动列表,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中...当UITableView要求dataSource返回UITableViewCell,dataSource会先查看这个对象池,如果池中有未使用的UITableViewCell,dataSource会用新的数据配置这个...,那么UITableView重用UITableViewCell可能会得到错误类型的UITableViewCell 解决方案:UITableViewCell有个NSString *reuseIdentifier...当UITableView要求dataSource返回UITableViewCell,先通过一个字符串标识到对象池中查找对应类型的UITableViewCell对象,如果有,就重用,如果没有,就传入这个字符串标识来初始化一个

    1.8K130

    iOS开发中行高灵活可变的UITableView的性能优化

    iOS开发中行高灵活可变的UITableView的性能优化 一、UITableView的构建原理         新闻类,电商类等应用,应用着大量的图文混排视图,表视图UITableView,...至于为何UITableView进行配置也需要拉取所有的行高数据,我猜想其为了进行视图的一些初始化操作,例如表视图右侧滚动条的宽度和所占比例等。...并且,每次拉取高度都从代理方法拉取,而不是存入内部的一个变量属性,避免了因为数据源更改时机巧合而产生的界面与预期不一致的风险。...开发通常会遇到一些十分复杂的界面,而这些界面cell的高度都是需要通过请求到的数据动态改变的,每个cell都要写复杂的尺寸计算代码十分令人心烦。...iOS7系统之后,UITableView增加了一个estimatedRowHeight属性,顾名思义,这个属性是设置UITableViewCell的大约行高值。

    1.9K20

    iOS-UI控件之UITableView(二)- 自定义不等高的cell

    不等高的cell 给模型增加frame数据 所有子控件的frame cell的高度 @interface XMGStatus : NSObject /**** 文字\图片数据 ****/ // .......计算所有子控件的frame、cell的高度 } return _cellHeight; } 控制器 实现一个返回cell高度的代理方法 在这个方法返回indexPath位置对应cell...的高度 /** * 返回每一行cell的具体高度 */ - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:...的子类,比如XMGStatusCell @interface XMGStatusCell : UITableViewCell @end XMGStatusCell.m文件 重写-initWithStyle...(nonatomic, strong) XMGStatus *status; @end XMGTgCell.m重写模型属性的set方法 set方法给子控件设置模型数据 - (void)setStatus

    950110

    优雅的使用UITableView

    痛点 我们iOS开发UITableView几乎是所有App都会使用的一个UI控件,因为业务的需要,我们常常会注册多种Cell,然后 - (UITableViewCell *)tableView:(...想一想展示一个UITableView的过程 发起网络请求 JSON to Model,构造模型数组 数据填充 大致就是这三步吧。 其实在第二步构造模型数组,我们是不是就可以确定好UI的样式了?...这个界面需要UITableView? 没错,这个界面UIViewController中直接构建就可以了。...UI是构建完成了,但是我相信其中有两个问题你肯定比较关心 Cell 高度计算 Cell上事件的回调 Cell 高度计算 iOS8之后UITableView推出了Self-sizing的功能,所以Cell...是必须使用协议的,因为编译找不到这个方法。

    97800

    iOS表视图单元格高度自适应

    iOS表视图高度自适应可以节省很多麻烦,尤其是涉及到复杂的业务逻辑,今天尝试了使用Masonry和FDTemplatelayoutCell来布局表视图单元格,从而达到单元格高度自适应的效果,这里就总结了这其中使用的要点和注意问题...屏幕快照 2016-11-11 下午7.23.36.png 一、Masonry和FDTemplatelayoutCell实现自适应 Masnory帮助我们单元格设置约束,实现视图的自动布局,这里不再赘述...因为布局的时候是相对于self的,这样可能会使约束错乱,自适应高度无效。...,方法设置约束的代码也不会执行 cell = [OrderTableViewCell getOrderTableViewCell]; cell.selectionStyle...]; } //返回单元格,不再使用getOrderTableViewCell方法 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath

    1.8K70

    UITableView 组件化

    [1240] 源起 iOS 开发UITableView 可以说是最常用的控件。几行代码,实现对应方法,系统就会给你呈现一个 60 帧无比流畅的列表,让初学者成就感爆棚。...数据源和 UI 不绑定 当 model 变化时,我们往往需要通过当前 model 位置反推出 cell UITableView 的位置(即 indexPath),然后做相应的更新处理,反之亦然。...)configure:(UITableViewCell *)cell 和 UITableView 联动 定义完组件后,我们只需要按照顺序将组件加入父组件,即可完成和 UITableView 的绑定。...后续再次刷新将自动获取对应高度而无需再次计算。当一个 cell 有多重状态,需要在不同状态下展示不同高度,则可以通过业务状态返回不同的 diffableHash 进行高度切换。...另一方面 component 只是 viewmodel,真正刷新前的批量操作并不会有过多性能问题。 ***

    1.5K30

    iOS开发之UITableView联动实现城市选择器

    iOS开发之城市选择器一文中用两列的UIPickerView实现了城市选择器,今天用两个UITableView来实现一下,首先这种联动很多地方用得上,而且方法有好几种,我这里选择了个人喜欢的一种方式...这种方式总体思路如下: 1、添加两个UITableView到当前控制器,分别设置它们的的尺寸,然后拖线到控制器 2、左边的表格设置数据源和代理为当前控制器,然后显示数据,右边的表格也设置数据源为当前控制器...3、监听左边表格控制器的点击事件,它的点击事件刷新右边的表格 这时候就有问题了,一个控制器要成为2个UITableView的数据源和代理,怎么办?...—— 在数据源和代理方法,进行判断 if (self.leftTableView== tableView) {} else{} 具体步骤: 1、添加2个UITableView,设置约束...添加和准备工作.png 2、控制器实现功能,具体代码如下,注释非常详细: #import "ViewController.h" @interface ViewController () <UITableViewDataSource

    2.1K60

    UITableView性能优化-中级篇

    老实说,UITableView性能优化 这个话题,最经常遇到的还是面试,常见的回答例如: Cell复用机制 Cell高度预先计算 缓存Cell高度 圆角切割 等等. . ....还不可见),不会调用- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath...*)indexPath去渲染cell,cell如果设置loadImage,不会调用; 而当cell进去界面的时候,再进行cell渲染(无论是init还是从复用池中取) 解释下YYWebImage...解决办法: cell每次被渲染,判断当前tableView是否处于滚动状态,是的话,不加载图片; cell 滚动结束的时候,获取当前界面内可见的所有cell 2的基础之上,让所有的cell请求图片数据...答: 如果是下载完,回调中进行切割圆角的处理,其实缓存的图片是原图,等于每次取的时候,缓存取出来的都是矩形图片,每次set都得做切割操作; 问: 那是否有解决办法?

    1.5K20

    iOS UITableView代理方法详解 原

    iOS UITableView的代理方法详解 一、补充 在上一篇博客,http://my.oschina.net/u/2340880/blog/404605,我将IOStableView(表视图)...:(NSInteger)section; 设置行高,头视图高度和尾视图高度的方法 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath...设置行高,头视图高度和尾视图高度的估计值(对于高度可变的情况下,提高效率) - (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath...NSIndexPath *)indexPath; 下面这个方法是IOS8的新方法,用于自定义创建tableView被编辑右边的按钮,按钮类型为UITableViewRowAction。...; 设置编辑背景是否缩进 - (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath

    1.4K40

    提升UITableView性能-复杂页面的优化

    这还用问,当然是用UITableView+自定义的UITableViewCellUITableView是可以滑动的,为了不让用户滑动感到有卡顿,该如何优化?...= 首先要确定的是,iOS,系统会先调用“tableView:heightForRowAtIndexPath:”获取每个Cell即将显示的高度,从而确定整个UITableView的布局。...所以,既然高度总会被用到,那就早早的获取数据就计算好吧! Model(Entity)中计算并保存Cell的高度 其实,Model(Entity)中保存UI的参数是很奇怪的=。...=(最好放在ViewModel,就是MVVM模式的),我们的Entity可能就是下面的样子: 1 2 3 4 5 6 7 8 9 10 11 12 13 @interface...UITableView的Delegate、DataSource方法,减少任何不必要的操作 http://tutuge.me/2015/02/19/提升UITableView性能-复杂页面的优化/

    1K50
    领券