gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:48:30 24 4
gpt4 key购买 nike

我有一个显示自定义 UITableViewCell(继承自 UITableViewCell)的 UITableViewController。同一个 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)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}

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

// Configure the view for the selected state
}

@end

最佳答案

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

+ (CGFloat)heightForMessage:(NSString *)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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com