gpt4 book ai didi

ios - 自定义 UITableviewCell 中的多行标签

转载 作者:可可西里 更新时间:2023-11-01 05:36:05 24 4
gpt4 key购买 nike

我四处寻找解决我的问题的提示。但我找不到解决方案。

我创建了 UITableviewCell (FeedCell) 的子类。一张图片和两个标签。问题是我需要多行的标签没有显示多行。

我使用自动布局。

这是一个显示用户 twitterfeed 的应用程序。

我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";

FeedCell *tweetCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (tweetCell == nil) {
tweetCell = [[FeedCell alloc]
initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
[tweetCell.tweetText setNumberOfLines:0];
[tweetCell.tweetText setLineBreakMode:NSLineBreakByWordWrapping];
[tweetCell.tweetText setFont:[self fontForCell] ];


}
NSDictionary *tweet = _dataSource[[indexPath row]];

NSString *tweetString = [tweet valueForKey:@"text"];

tweetCell.name.text =[tweet valueForKeyPath:@"user.name"];


[tweetCell.tweetText setText:tweetString];

return tweetCell;

我还设置了 heigthforRowAtIndexPath:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *tweet = _dataSource[[indexPath row]];
NSString *theText=[tweet valueForKey:@"text"];
UIFont *cellFont = [self fontForCell];
CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
CGSize labelSize = [theText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:NSLineBreakByWordWrapping];

return labelSize.height + 20;

问题是 tweet cell.tweetText 没有显示多行。我没有用另一个 CellStyle 尝试过这个(我使用自定义 cellstyle)。

有任何提示吗?

最佳答案

对于多行使用以下内容:

tweetCell.tweetText.numberOfLines = 0;
[tweetCell.tweetText sizeToFit];

出于测试目的,在以下方法中将行高设置为 46.0f:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

我无法解决高度问题,但这确实给了我一个多行的 UILabel

关于ios - 自定义 UITableviewCell 中的多行标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18600047/

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