2016-09-06 6 views
0

を作成する私は、クイズの解答を作成しようとしているが、理由はXamarin iOSの方法を非再利用可能なUITableViewCells

var cell = (CreateMessageNewAnswerCell)TableView.DequeueReusableCell(CreateMessageNewanswerCell.Key); 

の私は、以前の時代から同じボックスのサイズを受けています。 デキューメソッドはセルを再利用するので、サイズは以前と変わりません。サイズをリセットしようとしましたが、再利用のためにセルのサイズが変更された解決できない問題になります。

私の質問は、再利用せずにセルを作成する方法です。 私は、次のコードを試してみましたが、あなたは、私は、セルの再利用を使用していないrecommnedませんあなたのUITableViewに類似した細胞を表示している場合、それは否定あなたのスクロールのパフォーマンスに影響を与え、メモリの圧力を増加させるように、

var cell = new CreateMessageNewAnswerCell(UITableViewCellStyle.Default, CreateMessageNewAnswerCell.Key); 

cell.SelectionStyle = UITableViewCellSelectionStyle.None; 
cell.SetModel(createMessageSession.AddAnswersModel, indexPath.Row - 1); 
+0

サイズにはどのような問題がありますか? -heightForRowAtIndexPathデリゲートメソッドのインデックスパスで特定の行のサイズを指定できないのはなぜですか? –

+0

問題は基本的にこのシナリオで自動レイアウトを使用できないため、セルを再作成して既存のものを再利用する必要がないということです。 – iDesireJustice

+0

あなたは何かが間違っている、heightForRowAtIndexPathだけでなく、セルの再利用tableViewで自動レイアウトとは何の関係もありません。 –

答えて

2

を動作しませんでした。

異なるサイズのセルを1つのUITableViewで処理するには、AutoLayoutを使用し、セルの高さを自動寸法に設定します。

TableView.EstimatedRowHeight = 200; 
TableView.RowHeight = UITableView.AutomaticDimension; 

これにより、セルの高さがコンテンツに動的に適合するようになります。詳細情報をチェックするにはこちらpost

セル再利用を使用しない場合は、代わりにDequeueReusableCellを使用しないでください。代わりに、GetCellメソッドでセルの新しいインスタンスを返すだけです。

+0

あなたの答えは本当に役に立ちません。タイプが可能なセルに自動レイアウトを使用することができないため、自分で処理する必要があるからです。 とにかく、私はすでにセルクラスのサイズを処理しています。私が明らかに試したコードは動作しないので、新しいCellを返す方法を知る必要があります。 – iDesireJustice

+0

セルがNibファイルで定義されていますか? – wishmaster

+0

はい、私の細胞はペン先です(xib) – iDesireJustice

関連する問題