UITableviewは、最初に表示されているセルのみを読み込む必要がありますか?私のテーブルビューは、初期にすべてのセルをロードしています。私は約1000行を使用しています。必要なときにのみセルをロードするようにしてください(ユーザーのスクロールダウンなど)。誰でもこれをやっている理由は何ですか?UITableViewはすべてのセルをロードしています
答えて
いくつかコードを記入してください。メソッド-tableView:cellForRowAtIndexPathは、潜在的なセルの新しい「スロット」が開かれたときにのみ呼び出されるため、最初は「すべてのセルを読み込む」ために何か重大なことをする必要があります。
おそらく、すべてのデータを最初にロードしていて、バッチでそれを実行したいということでしょうか?
これは正しいことです。必要なものだけを読み込む必要があります。 UITableView
さんのrowHeight
さんは何ですか?それが極端に低い場合は、テーブルにすべてのセルをロードする必要があります。
これは問題ではない場合は、tableView:cellForRowAtIndexPath:
コードを貼り付けることができますか?
行あたり1ピクセル!)彼はまだそのメソッドの半分のセルをロードすることはできませんでした。確かに、この質問はデータをロードする時間に関係していなければなりませんか? – h4xxr
AFAIK、tableViewを作成する唯一の方法:cellForRowAtIndexPath:ビューが最初に読み込まれるときに1000回呼び出されるのは、rowheightを0に設定することです。 –
私はcellForRowAtIndexPathがすべてのセルに対して最初に呼び出されていることを知っています。セルの高さは89
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UILabel *textName = nil;
UIImageView* image = nil;
unsigned int DATA_TAG = 1001;
unsigned int IMG_TAG = 1002;
// Retrieve a cell is Available
cell = [aTableView dequeueReusableCellWithIdentifier:CellIdentifier];
// Check if no new cell was available
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
// Set the Accessory Data
textName = [[[UILabel alloc]initWithFrame:CGRectMake(cell.frame.origin.x, 80, cell.frame.size.width, 20)]autorelease];
textName.tag = DATA_TAG;
textName.textAlignment = UITextAlignmentCenter;
textName.backgroundColor = [UIColor clearColor];
textName.highlightedTextColor = [UIColor colorWithRed:1.0 green:1.0 blue:0.9 alpha:1.0];
textName.textColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:1.0];
textName.lineBreakMode = UILineBreakModeWordWrap;
[cell.contentView addSubview:textName];
//Set the Image Data
image = [[[UIImageView alloc]initWithFrame:CGRectMake(cell.frame.origin.x, cell.frame.origin.y, cell.frame.size.width, 80)]autorelease];
image.tag = IMG_TAG;
image.contentMode= UIViewContentModeScaleAspectFit;
[cell.contentView addSubview:image];
}
Accessory* acc= [[AccessoryManager sharedManager].currentList objectAtIndex:indexPath.row];
if(acc == nil)
return cell;
textName= (UILabel*)[cell.contentView viewWithTag:DATA_TAG];
textName.text= acc.accessoryName;
image= (UIImageView*)[cell.contentView viewWithTag:IMG_TAG];
[image setImage:acc.accessoryImage];
return cell;
}
あなたはheightForRowAtIndexPathから例えば、cellForRowAtIndexPath自分自身を呼び出しているのですか?その場合、セルを作成して高さを決定する必要はありません。
- 1. UITableViewはすべてのセルをプリロードしています
- 2. UITableViewは何らかの理由で同じセルをロードしています
- 3. 別のビューをロードしていないUITableViewセルが選択されました
- 4. UITableView内のすべてのセルを選択する
- 5. UITableViewのreloadDataはセルをリソートしていません
- 6. UITableViewは上下にスクロールしてセルを選択しています
- 7. UITableViewセルのimageViewがタッチダウンイベントのsetClipsToBoundsに違反しています
- 8. UITableViewの背景がセルでスクロールしていますか?
- 9. UITableView insertSections:withRowAnimation:すべての表のセルが要求される
- 10. UITableViewのセルをクリアして、他のビューをセルに配置します
- 11. いつUITableViewがセルのロードを完了したかを知る
- 12. すべてのコールバックでUITableViewを更新/再ロード
- 13. UITableViewがロードされていません
- 14. UITableViewは宣言されていない型のセルですか?
- 15. JPAはすべてを熱くロードしていません
- 16. UITableViewはセルに移動します
- 17. iOS UITableView "セルの2つのアニメーションを作成しようとしています" "
- 18. iOSの - のUITableViewのセルを表示していない
- 19. require.jsは、すべてのモジュールをロードしていない
- 20. はのUITableViewセル
- 21. UIWebViewはUITableViewセルを埋めていません
- 22. UITableViewセルのUITextFieldが(null)として返されます
- 23. Magentoカテゴリモデルがすべてのデータをロードしていません
- 24. UITableViewを使用したUIPageViewControllerは、スワイプしてセルを削除しますか?
- 25. 強制的にUITableViewがcellForRowAtIndexPathを呼び出す:すべてのセル
- 26. UITableViewスタティック・セルをサブビューとして使用するには?
- 27. vba excelはすべてのセルをロックします
- 28. スクロールしてデータをロードします。迅速。 UITableView
- 29. UITableViewの最初のセルを他のすべてのセルと異なるようにする
- 30. すべてのテキストフィールドの値を読み書きする方法(テキストフィールドはuitableviewのセルにあります)?
明確にしてください。 A)NSLogステートメントを 'cellForRowAtIndexPath'メソッドに追加して、1000回呼び出されているか、B)遅いですし、メソッドが1000回呼び出されていると仮定していますか? – Jason
アニメーションでデータをリロードすると、すべてのセルが読み込まれますが、アニメーションをわずか6行だけ使用する方法はありますか? [pTableView scrollRectToVisible:CGRectMake(0、0、1、1)アニメーション:いいえ]; // [pTableView reloadData];[pTableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:animDirection]; –
私は自分自身のプロジェクトでこの動作を見ています - [tableView reloadSections:...]はcellForRowAtIndexPathを実行するように見えます:*すべての行、目に見えるものだけではなく – andygeers