この質問は、CellView
をUITableView
に表示するw.r.t xibと古いスタイルです。私はautolayouts
私の意見があります。UITableViewCellの動的高さのサブビュー
UITableViewCell
に再利用したいタイプUIView
のDynamicSubView
(動的高さ)があります。このために、私は2つのことを試してみました、DynamicSubview
[cell.contentView addSubview:myDynamicView]
として追加
- はすべて
Left-Top-Right-Bottom
上の制約0-0-0-0
でcell.xib
さんcontentView内部UIView
を追加しました。また、実行時に&が変化する高さはNSLayoutConstraint
です。そしてその見解のidentity inspector
をDynamicSubview
に設定しました。MyCell.m
クラスにおいて
、私はDynamicSubView
の動的高さを算出しています、layoutSubView
方法でawakeFromNib
&にDynamicSubView
クラスのオブジェクトを作成追加しました。
heightForRowAtIndexPath
に高さ関連のコードを追加しようとしましたが、テーブルが読み込まれたときに初めて無限ループに入ります。
問題は、セルがオーバーラップしていることです。高さの値の配列を作成し、再度読み込む必要があります。適切な高さでセルを再ロードするためのよりよい解決策。 MyCell
クラスで
コード:
- (void)awakeFromNib
{
[super awakeFromNib];
self.myDynamicView = (DynamicSubView *)self.myContainerView;
[self.myDynamicView setUpView:YES];
}
- (void)layoutSubviews
{
[super layoutSubviews];
[self.myDynamicView doSomething];
self.c_height.constant = [self.myDynamicView getHeightOfDynamicSubview];
//CGRect cellFrame = self.contentView.frame;
//self.contentView.frame = CGRectMake(cellFrame.origin.x, cellFrame.origin.y, cellFrame.size.width, self.c_height.constant);
self.cellHeight = self.c_height.constant;
}
高さに依存しますか?いくつかの文字列いくつかの画像何ですか? –