2015-06-24 2 views
1

У меня есть UITableView с разной высотой ячейки. Я добавил пользовательский разделитель также используя следующий кодПроблемы с разделителями линии - ячейки iitview с разной высотой

UIView* separatorLineView = [[UIView alloc]initWithFrame:CGRectMake(1, cellReport.frame.size.height-1, table.frame.size.width-1, 1)]; 
separatorLineView.backgroundColor = [UIColor grayColor]; 
[cellReport.contentView addSubview:separatorLineView]; 

Когда я прокручивать свою таблицу дополнительные разделители появляются между рядами и я не понимаю, почему? Я что-то упускаю? выручи меня. Короче UITableView отображает разделитель в неправильном положении для некоторых ячеек. Приложите пример изображения для справки.

P.S: Я не использую AUTOLAYOUT

enter image description here

+0

попробовать этот кадр: CGRectMake (cell.frame.origin.x, cell.frame.size.height-1, cell.frame.size.width, 1) –

+0

@SaurabhPrajapati На самом деле я использовал, что только в мой код. Это не работает. Я отредактировал свой ответ. Пожалуйста, посмотрите –

+0

вы используете пользовательские ячейки? затем замените ** cell.contentView addSubview: separatorLineView ** с ** cellReport.contentView addSubview: separatorLineView ** может возникнуть проблема –

ответ

2

Пожалуйста, выполните следующие действия

И не нужно каждый раз, когда ваш взгляд разделитель. И установите свой кадр каждый раз.

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSString *[email protected]"Cell"; 

    UITableViewCell *Cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:myIdentifier]; 

    UIView* separatorLineView; 

    if (Cell == nil) 
    { 

     Cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:myIdentifier]; 

     separatorLineView = [[UIView alloc] initWithFrame:CGRectZero]; 
     separatorLineView.backgroundColor = [UIColor grayColor]; 
     separatorLineView.tag = 100; 
     [Cell.contentView addSubview:separatorLineView]; 
    } 

    separatorLineView = (UIView *)[Cell.contentView viewWithTag:100]; 

    separatorLineView.frame = CGRectMake(0, Cell.frame.size.height-1, Cell.frame.size.width, 1); 

} 
+0

Спасибо. Идеальное решение. Он работал как шарм :) –

+0

@ManjuBasha Ваш прием :) –

Смежные вопросы