gpt4 book ai didi

c# - iOS 设计具有可定制内容的 UITableViewCell

转载 作者:可可西里 更新时间:2023-11-01 03:00:42 26 4
gpt4 key购买 nike

几天来我一直在摆弄这个问题,但我似乎无法解决问题。

我正在尝试构建一个类似于以下模型的 UITableView:

 iOS Design Issue

  • 外部布局:UITableViewCell
  • 红色布局:具有单个 UIView 的独立 .xib UIView
  • 蓝色布局:内部布局。如第二个单元格中所述,其中几个应该能够存在于单个红色布局中,并彼此叠加。

据我所知,这是在 UI 上布局的最佳方式。但是,无论我尝试什么,我似乎都无法获得单元格的高度(对于 GetHeightForRow 方法)。

加载和添加 View 不是问题,问题是在加载它们之后,用数据填充不同的 UI 元素,并获取它们的大小。

我试过使用 SizeToFit,但它似乎对 UILabels 有影响的唯一元素。即使当 UILabel 的框架更改为 300 高度并且我在包含标签的 UI 上调用 SizeToFit 时,它(UIView)仍然保持在 320x100。这意味着当它被渲染时,它看起来完全不对。

我尝试计算高度的方式与在 https://stackoverflow.com/a/18746930/2520789 上接受的答案中的第 4 点非常相似.也就是说,在内存中创建一个单元格,并用每一行的数据填充它,然后获取该单元格的高度。

最佳答案

用这个

-(CGFloat) heightForText:(NSString *)text withWidth:(CGFloat) textWidth{

CGSize constraint = CGSizeMake(textWidth, 20000.0f);
CGRect rect = [text boundingRectWithSize:constraint
options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]}
context:nil];
CGFloat height = rect.size.height;

height = ceilf(height);
// NSLog(@"height %f", height);
return height;
}

关于c# - iOS 设计具有可定制内容的 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30934179/

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