gpt4 book ai didi

objective-c - 带有 PXListView 的可变高度 NSTextField

转载 作者:行者123 更新时间:2023-12-03 17:59:26 32 4
gpt4 key购买 nike

我正在尝试使用 PXListView 来显示包含 NSTextField 的单元格表格,并且我想改变每个单元格的高度以修复其中的文本。

在我的子类单元格 View 上,我有一个高度方法来计算单元格的高度:

- (CGFloat)height{
NSRect textRect = [self.text.attributedStringValue
boundingRectWithSize:NSMakeSize(NSWidth(self.text.frame), 0.0f)
options:NSStringDrawingUsesLineFragmentOrigin];
return MAX(90.0f, NSHeight(textRect)+73.0f);
}

然后在我的 PXListViewDelegateheightOfRow 方法中,我获取该行的单元格,然后获取该单元格的高度:

- (CGFloat)listView:(PXListView *)listView heightOfRow:(NSUInteger)row{
CustomViewCell *cell = (CustomViewCell *)[listView cellForRowAtIndex:row];
return [cell height];
}

问题是单元格总是null,我相信这是因为我有先有鸡还是先有蛋的情况。该单元格为空,因为 cellForRow 从未被调用,因为高度为零,因此不需要加载单元格。

根据 PXListView 单元格中的文本改变其高度的正确方法是什么?

最佳答案

我的解决方案是使用表格 View 的宽度来计算每个表格单元格的高度:

- (CGFloat)listView:(PXListView *)listView heightOfRow:(NSUInteger)row{
NSRect textRect = [self.text.attributedStringValue
boundingRectWithSize:NSMakeSize(NSWidth(self.tableView.frame), 0.0f)
options:NSStringDrawingUsesLineFragmentOrigin];
return MAX(90.0f, NSHeight(textRect)+73.0f);
}

关于objective-c - 带有 PXListView 的可变高度 NSTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8800333/

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