こんにちは、この画像に似たものを設計して、フォーラムのようなビューに非常に長いスクロール ビューを実装したいと思います。
テーブルビューでこれを実装することは可能でしょうか (セルと他のセルに重なるいくつかのビューの間の境界線があまり定義されていないことを考慮して)、または多くのサブビューを持つ長いスクロールビューを作成する必要があります (メモリ管理?)? ありがとう
こんにちは、この画像に似たものを設計して、フォーラムのようなビューに非常に長いスクロール ビューを実装したいと思います。
テーブルビューでこれを実装することは可能でしょうか (セルと他のセルに重なるいくつかのビューの間の境界線があまり定義されていないことを考慮して)、または多くのサブビューを持つ長いスクロールビューを作成する必要があります (メモリ管理?)? ありがとう
を使用し、セルのサイズを調整する場合は、サブクラス化してメソッドを使用してサブビューを調整するUITableView
とよいでしょう。その中に存在するコンテンツに応じて、セルのサイズを変更します。UITableViewCell
layoutSubviews
これについては、以下のリンクを確認してください。
カスタムUIView
を作成して、必要なものをすべて作成し、カスタムビューを次のように追加するだけですcellForRowAtIndexPath
。
[cell.contentView addSubview:yourcustomview];
コードは
CV = [[CustomView alloc] initWithFrame:CGRectMake(0, 0, 320, heightofviewyouwant)];
CV.delegate = self;
cell.selectionStyle = UITableViewCellAccessoryNone;
[CV setTitle:[[yourarray objectAtIndex:indexPath.row]objectForKey:@"yourkey"]];
CV.backgroundColor = [UIColor whiteColor];
[cell.contentView addSubview:CV];
return cell;
アドバイスの 1 つ: 怠け者になろう!
scrollView で多くのビューを表示したい場合は、それらをすべてロードしないでください。これのベスト プラクティスは、UITableView
. 画面に描画する前に各セルの高さがわかっている場合は、このメソッドを実装できます
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
あなたのTableviewデータソースで。UIScrollView を使用する場合は、ユーザーがスクロールするときに必要に応じてサブビューを追加します。最善の方法は、デリゲート メソッドを実装することです。
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate