2015-05-11 5 views
0

Я создаю приложение (iOS 8.0), тогда как у меня есть UITableViewControlled, созданный с использованием AutoLayout и Storiesboards. TableView настроен как статический & сгруппирован, а разделитель tableView равен none.Добавление разделителя в UITableViewCell

Я пытаюсь использовать этот код (называемый в viewWillAppear :), чтобы добавить разделитель к двум другим клеткам, но по какой-то причине, он не показывает:

 // Create a separator for the tableView cells 
    UIView *separatorViewTop = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 1.0f, self.fromCell.frame.size.width, 1.0f)]; 
    UIView *separatorViewBottom = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 43.0f, self.fromCell.frame.size.width, 1.0f)]; 
    separatorViewTop.backgroundColor = [UIColor grayColor]; 
    separatorViewBottom.backgroundColor = [UIColor grayColor]; 

    // Add it 
    [self.fromCell.contentView addSubview:separatorViewTop]; 
    [self.toCell.contentView addSubview:separatorViewBottom]; 

fromCell и toCell и подключен в IB с IBOutlets.

Может ли кто-нибудь взглянуть на него? Спасибо!

+0

Вы называете, что в viewDidLoad или где? и fromCell и toCell являются IBOutlets? – Edig

+0

Я называю это viewViewAppear, да, это IBOutlets – Erik

+0

Попробуйте поместить этот код в '' 'cellForRowAtIndexPath''' или' '' viewDidAppear''' – Edig

ответ

1

Если вы используете XIB для пользовательской ячейки, тогда было бы легко добавить эти представления разделителей в XIB. Я думаю, что он более гибкий, чем сравнение с временем выполнения.

+0

Я не использую XIB для пользовательской ячейки, но добавление их в конструктор интерфейса получилось лучше. Благодаря! – Erik

0

Вы также можете создать UIView с высотой 1px и с цветом фона вашего сепаратора вы хотите быть

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    //Your code to create the tableviewcell... 
    //Below 'theCell' is the current cell at index path to return 

    if (thisIsTheCellIWantToAddSeparator) { 
     UIView *separatorView = [[UIView alloc] initWithFrame:CGRectMake(0, theCell.frame.size.height-1, theCell.frame.size.width, 1)]; 
     theCell.backgroundColor = YOURCOLOR; //Set the color you want 
     [theCell.contentView addSubview:imgView]; 
    } 
    return theCell; 
} 
Смежные вопросы