iOS 5 を使用し、iPad アプリを作成しています。アプリに UITableView があり、すべてのセルに UITextView が含まれています。ただし、テキスト ビューに英語以外のテキストが読み込まれると、スクロールが非常に遅くなります。
これは、問題を示すために作成したサンプル プロジェクトです。これは、すべての UITableViewCell に 1 のタグを持つ 1 つの UITextView がある UITableView を使用します。非常にゆっくりとスクロールします。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 20;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"BasicCellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
UITextView *textView = (UITextView *)[cell viewWithTag:1];
textView.text = @"أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة. أَبْجَدِيَّة عَرَبِيَّة.";
return cell;
}
NSLog を使用して、この行だけで速度が低下することを確認しました。それを削除すると、すべてが完全に機能しますが、テキストを設定する必要があります。パフォーマンスのチューニングについて見つけたものはすべて読みましたが、これは依然として私にとって大きな問題です。
遅いスクロールは、英語、フランス語、ドイツ語とは対照的に、アラビア語、中国語、ヘブライ語などの言語でのみ問題になります (おそらく文字セットまたは Unicode に関連していますか?) 200あります。
どんな助けにも感謝します!