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

选中时,UITableViewCell高度不会更新。使用UITableViewAutomaticDimension

当选中UITableViewCell时,UITableViewCell的高度不会自动更新的问题通常是由于以下原因之一导致的:

  1. UITableView的estimatedRowHeight属性未正确设置:在使用UITableViewAutomaticDimension自动计算行高时,需要确保UITableView的estimatedRowHeight属性设置为一个合理的值,例如:tableView.estimatedRowHeight = 100
  2. UITableViewCell的约束设置不正确:使用UITableViewAutomaticDimension自动计算行高时,需要确保UITableViewCell内部的子视图正确设置了约束。特别是顶部和底部的约束,确保它们与UITableViewCell的顶部和底部之间存在约束关系。
  3. UITableViewCell的contentView的布局不正确:UITableViewCell的子视图应该添加到contentView上,而不是直接添加到UITableViewCell上。确保将子视图添加到contentView,并正确设置子视图的约束。
  4. UITableViewCell中的文本内容过长:如果UITableViewCell中的文本内容过长,可能会导致自动计算行高时出现问题。可以考虑使用UILabel的lineBreakMode属性或者自定义UILabel子类来处理长文本的显示。

综上所述,要解决选中时UITableViewCell高度不会更新的问题,需要确保UITableView的estimatedRowHeight属性设置正确,UITableViewCell的约束设置正确,子视图添加到contentView上,并正确设置子视图的约束。如果仍然存在问题,可以进一步检查UITableViewCell中的文本内容是否过长,并进行相应的处理。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供可扩展的计算容量,满足不同规模业务的需求。产品介绍链接
  • 腾讯云云数据库MySQL版:高性能、可扩展的关系型数据库服务。产品介绍链接
  • 腾讯云对象存储(COS):安全、稳定、高扩展性的云端存储服务。产品介绍链接
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。产品介绍链接
  • 腾讯云物联网(IoT):提供全面的物联网解决方案,帮助连接和管理物联网设备。产品介绍链接
  • 腾讯云区块链服务(BCS):提供安全、高效的区块链解决方案,支持快速搭建和管理区块链网络。产品介绍链接

请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估和决策。

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

相关·内容

MyLayout&TangramKit 的重大升级!

当一个视图有自己的固有内容尺寸,就不需要再为视图设置宽度或者高度约束。这也就是为什么一般情况下不对UILabel视图设置宽度和高度约束系统也能正常完成布局。...; } 实现中针对某个cell返回一个特定高度UITableViewAutomaticDimension。...,因为使用了布局视图的高度自适应属性。...3.MyLayout&TangramKit的UITableViewCell高度自适应实现 如果你的所有视图都不使用AutoLayout的话则可以通过上面介绍的MyLayout&TangramKit来实现...因为布局视图重载intrinsicContentSize方法,因此当将某个布局视图作为UITableViewCell的子视图如果想使用布局视图的尺寸自适应的能力,只需要将布局视图的尺寸设置为wrap即可

2.1K20
  • iOS_UITableView性能优化

    // 提前计算并缓存好高度 // 滑动按需加载, 防止卡顿 配合SDWebImage https://github.com/johnil/VVeboTableViewDemo dispatch_async...(DISPATCH_QUEUE_PRIORITY_DEFAULT, ^{ // 异步绘制 }); // 缓存一切可以缓存的 // 默认高度44 定高的cell最好指定高度, 减少不必要的计算 self.tabelView.rowHeight...指定rowHeight属性为 automatic dimension self.tabelView.rowHeight = UITableViewAutomaticDimension; // -----...CPU渲染而言,其效率极高,能大大优化内存使用情况 // 优化方案2: 使用贝塞尔曲线UIBezierPath Core Graphics框架画出一个圆角 // 开始对imageView进行画图 UIGraphicsBeginImageContextWithOptions...*)cell forRowAtIndexPath:(NSIndexPath *)indexPath { } - (UITableViewCell *)tableView:(UITableView *)

    63320

    UITableView图文混排自动布局滑动优化实战

    AutoLayout和手动计算高度 毫无疑问,使用AutoLayout会明显的比手动计算高度慢,那么我为什么要用AutoLayout呢,因为实在太方便了,而且视图太复杂,产品改的太频繁,手动计算实在工作量太大...方案 1.缓存高度 既然手动计算高度更快,那就在Reuse的时候用AutoLayout帮我们算过后的高度就行了,缓存一个高度字典(或者数组),在算完渲染出来的时候取高度,在取高度的时候做个判断就行。...//保存高度 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath...height = [_cellHeightsDic objectForKey:indexPath]; if (height) return height.doubleValue; return UITableViewAutomaticDimension...]; 会自动创建网络请求下载图片,下载完存入内存和本地缓存里,下次使用直接使用sd_setImageWithUrl会自动去内存里寻找下载完的图片。

    1.3K10

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

    TableViewCell配置部分: ④当使用cellID进行与TableView绑定的cell获取时会拉取本行cell的高度数据。 ?...当执行TableView的reloadData方法进行界面刷新,系统先会把所有行的行高数据拉取一遍,之后和UITableViewCell配置部分的场景一直,会拉取即将出现在屏幕上的cell的行高数据。...那么现在问题来了,如何才能让cell正确计算自己的高度,这就要使用到Autolayout了,无论是通过xib文件创建的cell还是代码创建的cell,若想让cell自动正确的计算出自身的高度,必须添加足够压力的约束...将要展现在屏幕上heightForRowAtIndexPath方法才会被执行,这也可以有效减小由于高度计算带来的性能负担。...UITableView类中还有一个十分有趣的常量: UIKIT_EXTERN const CGFloat UITableViewAutomaticDimension; UITableViewAutomaticDimension

    2K20

    iOS 面试策略之系统框架-UIScrollView及其子类

    [1240] 当一个屏幕无法展示 App 需要展示的所有内容,就是 UIScrollView 大展拳脚的时候:通过使用 UIScrollView,用户可以滑动或是缩放屏幕,来看单个屏幕无法展示的内容。...所以我们将同一类型的 UITableViewCell 标记为相同的 Identifier,然后用reuseIdentifier 去进行构建,配合不同内容进行批量使用。...**关键词:#auto layout #UITableViewAutomaticDimension #estimatedRowHeight 主要有以下三步: 用auto layout对UITableViewCell...可能原因是网络请求太慢,不能及时得到相应数据;也有可能是需要更新的数据太多,主线程一处理不过来。 然后我们针对三个问题,分别去进行优化。...高度我们可以先设定为 0,之后在 prepare() 里进行更新。 prepare()。该方法发生在 UICollectionView 数据准备好,但界面还未布局之时。

    2.6K21

    你可能需要为你的 APP 适配 iOS 11

    cell的高度了,只会计算当前屏幕能够显示的cell个数再加上几个,滑动,tableView不停地得到新的cell,更新自己的contenSize,在滑到最后的时候,会得到正确的contenSize。...; // default is UITableViewAutomaticDimension, set to 0 to disable 如果目前项目中没有使用estimateRowHeight属性,在iOS11...UITableviewCell 和 UITableViewHeaderFooterView的 content view 在安全区域内;因此你应该始终在 content view 中使用add-subviews...类型,当使用该类型,如果是右滑操作,一直向右滑动某个cell,会直接执行删除操作,不用再点击删除按钮,这也是一个好玩的更新。...,会只显示image,不显示title,当cell高度够大,会同时显示image和title。

    1.7K60

    UITableViewCell系列之(一)让你的cell支持二次编辑

    关于UITableViewCell一些别具一个的样式和用法。很早就想系统的写一篇文章,文章中囊括开发中UITableViewcell的一些花样用法和奇葩用法。...这只是一个开头,关于UITableViewCell的一些特殊的用法,我还会继续在这个系列中更新。 如果你觉得按照步骤一步一步读下去浪费时间,喜欢直接看代码请点击。...做的好的同学,可能还不忘弹出UITextView的给tableView添加一个蒙版或者模糊效果以突出重点,提高用户的体验度。以上的两种方式算是中规中矩。...// self-sizing self.tableView.estimatedRowHeight = 200.f; self.tableView.rowHeight = UITableViewAutomaticDimension...void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"选中

    7.8K40

    你可能需要为你的 APP 适配 iOS11

    和pop体验,你不会得到searchController的集成、大标题的控制更新和Rubber banding效果,因为这些都是由UINavigationController控制的。...cell的高度了,只会计算当前屏幕能够显示的cell个数再加上几个,滑动,tableView不停地得到新的cell,更新自己的contenSize,在滑到最后的时候,会得到正确的contenSize。...● UITableviewCell 和 UITableViewHeaderFooterView的 content view 在安全区域内;因此你应该始终在 content view 中使用add-subviews...类型,当使用该类型,如果是右滑操作,一直向右滑动某个cell,会直接执行删除操作,不用再点击删除按钮,这也是一个好玩的更新。...滑动操作这里还有一个需要注意的是,当cell高度较小时,会只显示image,不显示title,当cell高度够大,会同时显示image和title。

    2.5K00

    你可能需要为你的APP适配iOS11

    和pop体验,你不会得到searchController的集成、大标题的控制更新和Rubber banding效果,因为这些都是由UINavigationController控制的。...cell的高度了,只会计算当前屏幕能够显示的cell个数再加上几个,滑动,tableView不停地得到新的cell,更新自己的contenSize,在滑到最后的时候,会得到正确的contenSize。...● UITableviewCell 和 UITableViewHeaderFooterView的 content view 在安全区域内;因此你应该始终在 content view 中使用add-subviews...类型,当使用该类型,如果是右滑操作,一直向右滑动某个cell,会直接执行删除操作,不用再点击删除按钮,这也是一个好玩的更新。...滑动操作这里还有一个需要注意的是,当cell高度较小时,会只显示image,不显示title,当cell高度够大,会同时显示image和title。

    82120

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

    //选中状态返回的高度    if (indexPath.row == selectedIndex.row && selectedIndex !...其中的特例包括背景色,它的alpha值应该为1(例如不要使用clearColor);图像的alpha值也应该为1,或者在画图设为不透明。...因此在cell不可见,可以将其缓存起来,而在需要继续使用它即可。...做到前几点后,你的table view滚动应该足够流畅了,不过你仍可能让用户感到不爽。常见的现象就是在更新数据,整个界面卡住不动,完全不响应用户请求。...解决办法就是使用多线程,让子线程去执行这些函数或方法。这里面还有一个学问,当下载线程数超过2,会显著影响主线程的性能。

    35820

    iOS中TableView小技巧

    引 TableView是ios开发中经常用到的控件,这里统一记录一下开发中遇到的常用小技巧,不断探索更新,也希望大家可以告诉我更多常用的小技巧啦~一起进步。...不处理的情况下,选中一行后,该行会保持被选中的背景色,一般我们不希望其保持,而是一闪而过告知用户选中过就好了,在TableView的Delegate方法中实现: - (void)tableView:(...} 3、滑动列表收起键盘 一般列表都会伴随着搜索框或其他输入框,我们在输入时弹出键盘,但是滑动列表就表示我已经输入完毕了,不希望键盘保持在界面上,而是自动收起,同样是在TableView的...,比如cell内有一个label,这个label显示的内容是根据文字长度变换label高度的,这时我们不能单单变换label的高度,还要相应的改变cell的高度,才能正确地显示内容,通过以下方法动态地设置...cell高度: // 首先根据内容修改cell高度 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath

    97730

    iOS-UI控件之UITableView(一)

    :(NSIndexPath *)indexPath { NSLog(@"取消选中了:%zd", indexPath.row); } /** * 返回每个cell的高度 */ - (CGFloat...要解决该问题,需要重用UITableViewCell对象 重用原理:当滚动列表,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中...当UITableView要求dataSource返回UITableViewCell,dataSource会先查看这个对象池,如果池中有未使用UITableViewCell,dataSource会用新的数据配置这个...,那么UITableView在重用UITableViewCell可能会得到错误类型的UITableViewCell 解决方案:UITableViewCell有个NSString *reuseIdentifier...当UITableView要求dataSource返回UITableViewCell,先通过一个字符串标识到对象池中查找对应类型的UITableViewCell对象,如果有,就重用,如果没有,就传入这个字符串标识来初始化一个

    1.8K130

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

    允许选中 allowsMultipleSelection 允许多选 2.3 行数 属性名称 作用 indexPathsForSelectedRows 当前选中行数 indexPathsForVisibleRows...当前可见行数 2.4 背景 属性名称 作用 backgroundView 背景视图 selectedBackgroundView 选中的背景视图 2.5 UITableViewCell的selectionStyle...属性可设置被选中的背景颜色 属性名称 作用 UITableViewCellSelectionStyleNone 没有颜色 UITableViewCellSelectionStyleBlue 蓝色(默认...) UITableViewCellSelectionStyleGray 灰色 3. tableView展示数据三部曲 遵守数据源协议; 设置数据源 实现相应数据源方法 cell的默认高度是44,宽度和...UITableViewStyleGrouped样式 4.1 使用storyboard设置 ? Paste_Image.png 4.2 使用代码设置 ?

    96440

    【IOS开发基础系列】Storyboard专题

    使用 MainWindow.xib 的时候不同,故事板中不会包含应用程序委托。...但在某些时候我们必须通过手动创建TabbarController,这样就必须知道在不使用模板应该如何去做。         ...这样当用户点击 cell 看起来会好一些,因为此时cell的背景为蓝色。         拖一个 ImageView 到cell 右端,紧靠着右箭头。调整它宽度为81,高度无所谓。...前者更为简单,因此我使用了前者。 注意:如果你事先无法确定 cell 高度,或者你有不同高度的几种 cell,你应该使用heightForRowAtIndexPath。         ...在项目中添加新的 File,使用Objective-C class 模板。类名为PlayerCell ,继承自UITableViewCell

    1.1K30

    iOS开发-1.UITableView你会用吗?

    前一段时间,公司招聘了一个新员工,界面做出来了,但是很卡,我看完他写的代码,发现没有对UITableViewCell进行循环使用,而且在UITableView代理方法中,创建了很多并没有什么用的对象,一些调用频繁的方法也没有很好地处理...Paste_Image.png 每一行的高度也可以这样设置— self.tableView.rowHeight = 100; 当时上面的高度方法可以搞定不一样的cell高度设置 这里引出一个估计cell...高度的方法:(针对微博方面) ?...Paste_Image.png 这个也是代理方法:与那个返回头部高度容易混淆,要记住返回值类型 ?...tableView的代理方法,默认继承了UIScrollViewDelegate @protocol UITableViewDelegate 所以可以直接使用这个方法监听

    83030

    【死磕iOS】处理不等高TableViewCell的小花招

    self.tableView.dataSource = self; self.tableView.tableFooterView = [[UIView alloc] init]; } - (UITableViewCell...也就是说,只要知道文字区域的高度、图片区域的高度,就可以硬生生计算出Cell的高度了。...self.tableView.dataSource = self; self.tableView.tableFooterView = [[UIView alloc] init]; } - (UITableViewCell...= 100; // 随便设个不那么离谱的值 self.tableView.rowHeight = UITableViewAutomaticDimension; } 第二步:为Cell中最下面的...所以,该方法请选择使用… 结论 处理不等高TableViewCell,优先使用iOS8新特性(课题一方案三) 不能使用iOS8新特性的情况下,优先选择课题一方案一+课题二方案三组合 不能用上面两种,优先选择使用课题一方案一

    1.3K80
    领券