私は自分の問題のヒントを探し回っています。しかし、私はこれに対する解決策を見つけることができません。
UITableviewCell (FeedCell) のサブクラスを作成しました。1 つの画像と 2 つのラベル。問題は、複数行にする必要があるラベルが複数行で表示されないことです。
私はautolayotを使用しています。
ユーザーのツイッターフィードを表示するアプリです。
私のコード:
- (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;
}
問題は、ツイートの cell.tweetText が複数行で表示されないことです。別の CellStyle でこれを試したことはありません (カスタムの cellstyle を使用しています)。
何かヒントはありますか?