UITableView раздел детали рисования неправильно на прокрутке - PullRequest
1 голос
/ 17 января 2011

У меня есть UITableView, и я показываю данные на основе indexPath.section, однако, когда я очень быстро прокручиваю свое табличное представление, его данные продолжают перекрываться.Как это исправить?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";


    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
        }
    switch(indexPath.section)
    {
    // case 0 to 10;
    //values change if I scroll my table 
}

}

Ответы [ 2 ]

6 голосов
/ 17 января 2011

Я думаю, что вы размещаете некоторые метки внутри метода делегата cellForRowAtIndex.Вот почему у вас есть эта проблема.Это можно решить двумя способами:

  • Выделите метки вне метода делегата.установите теги для своих меток и используйте их внутри cellForRowAtIndex, обновляя теги.

  • используйте пользовательский контроллер представления ячейки.

1 голос
/ 17 января 2011

я исправил проблемы

вот решение, если нужно,

NSString *CellIdentifier=nil ;


    NSMutableArray *Array=  [[[NSMutableArray alloc] initWithObjects: @"One",@"Two", @"Three",@"Ad",@"Ae",@"Ah",@"Aj" ,nil]autorelease];



    CellIdentifier = [Array objectAtIndex:indexPath.section];




    ///302-1021-9244-4658-1994-3384 

    UITableViewCell *  cell = [tabelView     dequeueReusableCellWithIdentifier:CellIdentifier];

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...