2011-01-23 14 views
1

iは、これらの要素によってmadedテーブルの行を有する:テーブル行のスクロールを高速化するには?

alt text

1 - 画像ビュー(カレンダー)
4からcellForRowAtIndexPathにuilabel(月、日、タイトル、説明)

I

@try { 
    newsRow = ((NewsRowController *)[tableView dequeueReusableCellWithIdentifier:@"cell"]); 
    if (newsRow == nil) { 
     if (IS_IPAD) 
      [[NSBundle mainBundle] loadNibNamed:@"NewsRow_ipad" owner:self options:nil]; 
     else [[NSBundle mainBundle] loadNibNamed:@"NewsRow" owner:self options:nil]; 

     if ([tableArray count] > 0) { 
      [newsRow setCellDataWithName:[tableArray objectAtIndex:indexPath.row] 
           andDate:[descArray objectAtIndex:indexPath.row] 
            day:[dayArray objectAtIndex:indexPath.row] 
            month:[monthArray objectAtIndex:indexPath.row]]; 
     } 
    }  
} 
@catch (NSException * e) { 
    NSLog(@"fail."); 
} 
return newsRow; 

次に、tableArray、:このようにラベル(画像が同じであり、インタフェースビルダーによって挿入される)充填,dayArray,monthArrayは、viewDidLoadに入力されたNSMutableArrayです。

なぜiPhoneデバイス(私のテストは3G)は、スクロールアップが遅すぎますか?
私はテーブルを高速化するために削除する必要がありますか?
これは私のコードのすべてのですが、私はよりよい解決策を見つけることができません...

EDIT:
alt text
私は、識別子を設定することはできません...私はドン」トン...
それを見て、私のニュース行コントローラーは次のとおりです。iphonistの世界から

@interface NewsRowController : UITableViewCell 

任意のアイデア? :)

おかげで、

+0

、私は非常に[WWDC 2010のビデオ]を見てお勧めします(http://developer.apple.com/videos/wwdc/2010/)セッション131 - 「iPhone OSでのパフォーマンスの最適化」。テーブルビューをスムーズにスクロールさせるための大きなセグメントがあります。 –

答えて

5

は、nibファイルでのごtableviewcellのreuseidentifierは正しいでしょうか? (あなたは属性インスペクタでそれを見つけることができます)

私はそれが "セル"になると、あなたのセルが更新されない理由を尋ねるので、疑いがあります。


編集:識別子が正確あなたのコードの場合と同じである場合は、インターフェイスビルダーで再確認してください。 Interface Builder Table View Cell Identifier

してから、このようなあなたのコードを変更:

if (newsRow == nil) { 
    if (IS_IPAD) 
     [[NSBundle mainBundle] loadNibNamed:@"NewsRow_ipad" owner:self options:nil]; 
    else 
     [[NSBundle mainBundle] loadNibNamed:@"NewsRow" owner:self options:nil]; 
} 
else { 
    NSLog(@"Dequeue success"); 
} 
// no matter if there was a successful dequeue or not, you have a valid cell at this point 
if ([tableArray count] > 0) { 
    [newsRow setCellDataWithName:[tableArray objectAtIndex:indexPath.row] 
         andDate:[descArray objectAtIndex:indexPath.row] 
          day:[dayArray objectAtIndex:indexPath.row] 
          month:[monthArray objectAtIndex:indexPath.row]]; 
} 

をあなたは


EDIT2

デキュー成功LogMessageにを見ることができるかどうかを確認、あなたがテーブルを追加したことを確認していますあなたのペン先にUIViewではなく、セルを表示しますか?
私は一度も試したことがありませんが、テーブルビューに追加されたTableViewCellに「昇格」されたペン先にUIViewを配置することは可能です。これをチェックする

私の最高の試みが、それは次のようになりますセル のアイコンである:ここにあなたの質問にfluchtpunktの具体的な答えに加えて cell icon

+0

はい、すべて正しいです。テーブルの行の更新が正しくないと、デバイス上で上下にスクロールするのが遅すぎます。 – elp

+0

デキューが成功しないため、セルが正しく更新されます。成功するとセルが再利用される場合、セルの作成時にのみテキストが変更されるため、テキストは変更されません。 –

+0

私は何かを忘れることを願っています....この問題を解決するためにどこで行えますか? – elp

関連する問題