これが可能かどうか知りたいです:
- 投稿からの複数のコメントを含む表を表示する場合、各コメントの長さが異なる場合があります。そのため、表のセルは垂直方向にサイズを変更して、より多くのテキストに対応する必要があります。
コントローラーにコードを追加せずにこの結果を達成したいので、ここやSOの他の場所に投稿されたものとは異なるソリューションを探していることに注意してください。
IB を使用して、私のセルは次を使用します。
- スタイル: サブタイトル
- モード: 合わせて拡大縮小
- 行の高さ: デフォルト
私の「タイトル」ラベル(展開する必要があるラベル):
- 改行: ワードラップ
- 行: 0
上記では、実際には複数行のテキストが表示されますが、行のサイズがそれに応じて変更されないため、複数の行のテキストが重なってしまいます。
これをコントローラーにコーディングせずに行のサイズを垂直方向に変更することは可能ですか?
CommentViewController.m
#import "CommentViewController.h"
@implementation CommentViewController
@synthesize commentsArray;
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return commentsArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"commentCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
NSDictionary *comment = [commentsArray objectAtIndex:indexPath.row];
NSString *commentText = [comment objectForKey:@"comment_text"];
NSString *commentAuthor = [comment objectForKey:@"comment_author_name"];
cell.textLabel.text = commentText;
cell.detailTextLabel.text = [NSString stringWithFormat:@"by %@", commentAuthor];
return cell;
}
@end