• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 具有动态 UILabel 的 UITableViewCell 的动态高度

[复制链接]
菜鸟教程小白 发表于 2022-12-12 23:35:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个 UITableViewController,它显示了一个自定义 UITableViewCell(继承自 UITableViewCell)。同一个 UITableViewCell 有一个 UILabel 可以有可变长度的文本。我面临的挑战是如何在我的 UITableViewController 中访问这个 UILabel,以便我可以在 heightForRowAtIndexPath 中设置正确的单元格高度。

或者在旁注中,我该如何解决我的标签动态大小的问题。

谢谢

这是我自定义 UITableViewCell 的代码:

标题:

#import <UIKit/UIKit.h>

@interface MessagesCustomViewCell : UITableViewCell

@property (nonatomic, weak) IBOutlet UILabel *message;   <---- need to access this 

@end

实现:

#import "MessagesCustomViewCell.h"

@implementation MessagesCustomViewCell
@synthesize message=_message;

- (id)initWithStyleUITableViewCellStyle)style reuseIdentifierNSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelectedBOOL)selected animatedBOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end



Best Answer-推荐答案


使用Ivan提到的测量字体大小的方法,您可以在MessagesCustomViewCell中额外添加一个类方法,

+ (CGFloat)heightForMessageNSString *)message;

您在其中使用适当的 UILabel 宽度/高度、字体等计算消息的高度。这可以从 heightForRowAtIndexPath: 中调用:

NSString *dynamicString = [self.mydata objectAtIndex:indexPath.row];
CGFloat height = [MessagesCustomViewCell heightForMessage:dynamicString];
return height;

关于ios - 具有动态 UILabel 的 UITableViewCell 的动态高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13125488/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap