API(画像+テキスト)から取り込まれたコンテンツに基づいてセルのサイズを変更しようとしています。
画像、見出し (2 行)、および説明 (2 行) のためのスペースを残すように設定しました。
問題:画像が表示されない場合、見出しが 1 行しかない場合、説明がない、または説明が 1 行しかない場合があります。したがって、これらの動的コンテンツに基づいてセルのサイズを変更する必要があります。
WebListCell.m
- (void)layoutSubviews {
[super layoutSubviews];
self.imageView.frame = CGRectMake(1, 20, 320, 180);
self.headlineLabel.frame = CGRectMake(10, 210, 290, 40);
self.descriptionLabel.frame = CGRectMake(10, 250, 290, 30);
[self.headlineLabel setNumberOfLines:2];
[self.headlineLabel sizeToFit];
[self.descriptionLabel setNumberOfLines:2];
[self.descriptionLabel sizeToFit];
}
WebListViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
Feed *feedLocal = [headlinesArray objectAtIndex:indexPath.row];
NSString *headlineText = [NSString stringWithFormat:@"%@", feedLocal.headline];
NSString *descriptionText = [NSString stringWithFormat:@"%@", feedLocal.description];
cell.headlineLabel.text = headlineText;
cell.descriptionLabel.text = descriptionText;
}
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
WebListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"WebListCell"];
Feed *feedLocal = [headlinesArray objectAtIndex:indexPath.row];
NSString *head = [NSString stringWithFormat:@"%@", feedLocal.headline];
cell.headlineLabel.text = head;
if (head.length > 100 ){
[cell.headlineLabel setNumberOfLines:1];
}
} // WARNING ALERT: "CONTROL REACHES END OF NON-VOID FUNCTION"
WebListCell.m
セルをレイアウトしてから、レイアウトWebListViewController.m
を呼び出しWebListCell.m
ます。私はすべてのデータを正しく取り込んでいますが、サイズ変更の助けが必要で、理解できません.StackOverflowで他の質問をチェックアウトしましたが...誰かこれを手伝ってくれますか?
現在、セルの高さを変更する機能がありません。
必要に応じて追加のコードを投稿します。