实现自适应高度的 UITableViewCell 或 UILabel

本文介绍如何在iPhone开发中处理TableViewCell动态高度的问题。通过利用NSString内置的函数,可以计算出根据内容变化的cell高度。这有助于实现更灵活的布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Author: fallhunter
摘自:http://www.fallhunter.com/p/10140

在iphone开发中处理table时常常会有这样的问题,table中cell的高度不是固定的,而是是根据其中的内容不同而不同的。对与这种情况,sdk本身并没有很好的支持,经过一翻摸索,发现大家通常的做法都是在实现 heightForRowAtIndexPath 方法时,根据内容计算出来显示的高度。

幸运的是,nsstring内置了几个好用的函数可以方便的计算出来字符串被现实出来时占有的屏幕高度:

- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size;  
- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size
lineBreakMode:(UILineBreakMode)lineBreakMode;
- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode;
- (CGSize)sizeWithFont:(UIFont *)font
minFontSize:(CGFloat)minFontSize
actualFontSize:(CGFloat *)actualFontSize
forWidth:(CGFloat)width
lineBreakMode:(UILineBreakMode)lineBreakMode;



参考资料

http://www.raddonline.com/blogs/geek-journal/iphone-sdk-resizing-a-uitableviewcell-to-hold-variable-amounts-of-text/
http://www.maxhorvath.com/2009/01/how-to-make-uilabel-uitableviewcell-to-have-a-dynamic-height.html
http://blog.sallarp.com/iphone-uilabel-multiline-dynamic-height/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值