2017-01-27 4 views
1

Моя проблема не так сложна в определении для меня, даже я понимаю, что я пытаюсь сделать, я изо всех сил пытаюсь написать эту проблему, чтобы понять ее, направить меня, если мне нечего в описании ,Метка таблицы TableViewCell от других таблиц TableViewCell

Так что проблема в том, что у меня есть UITableView внутри UITableViewCell, оба из UITableViews имеют пользовательские классы UITableViewCell. Источник данных и делегат обоих внешних обедов UITableView находятся в одном классе. Я обработки массива данных, как описание этого

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    if (tableView==self.mainTableView) { 
     return titleArray.count; 
    } 
    return timeArray.count; 
} 

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (tableView==self.mainTableView) 
    { 
     MainTableViewCell *cell = [tableView dequeueReusableCellWitentifier:@"cell"]; 
     cell.label.text = [dataArray objectAtIndex:indexPath.row]; 
     return cell; 
    } 
    InnerTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; 
    cell.view.backgroundColor = [UIColor greenColor]; 
    return cell; 
} 

мои пользовательские ячейки

  1. Основные свойства класса UITableViewCell cusotm - UILabel (. Например MyLabel), UITableView (внутри)
  2. Внутри UITableViewCell пользовательского класса свойства - UIView (например, myView)

Теперь я хочу показать myView только в этой ячейке, когда «myLabel» соответствует моему массиву строкового объекта. например.

if([myLabel.text isEqualTostring:@"22"]){ 
cell.myView.backgroundColor = [UIColor blackColor]; 

}

Для например. если у меня есть 5 видов и 2 метки, теперь 2 строки в Main UITableView и 5 строк внутри UITableView, но каждый вид должен быть во внешней ячейке , только если он соответствует myLabel'text.

P.S Не думайте о том, где соответствующие данные исходят из проблемы, связанной с несоответствием данных.

Как окончательный вывод, я хочу создать счетчик строк для каждой внутренней ячейки UITableView.

+0

Если у меня есть вопрос правильно, вы хотите скрыть myView, если он не myLabel.text с каким-либо свойством NSString, верно? –

+0

Это похоже на то, что если у меня есть 2 ячейки в главной таблице и 3 вида, чтобы показать в этих двух ячейках, теперь представления будут разделены в соответствии с совпадением. Но то, что происходит, это основные 2 ячейки, показывающие все 3 вида в обеих ячейках, которые в общем виде составляют 6 просмотров. –

+0

Вы пробовали какой-либо код для достижения этого? Не могли бы вы показать код для tableView: cellForRowAtIndexPath: метод? –

ответ

0

Вы пробовали это?

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(tableView == self.mainTableView) 
    { 
     MainTableViewCell *cell = [tableView dequeueReusableCellWitentifier:@"cell"]; 
     cell.label.text = [dataArray objectAtIndex:indexPath.row]; 
     return cell; 
    } 
    InnerTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; 

    MainTableViewCell *parentCell = (MainTableViewCell*)cell.superView; 
    NSIndexPath *parentIndexPath = [self.mainTableView indexPathForCell:parentCell]; 

    NSString *text = [dataArray objectAtIndex:parentIndexPath.row]; 
    if([text isEqualTostring:@"22"] //your condition goes here 
    { 
     cell.view.backgroundColor = [UIColor blackColor]; 
    } 
    else 
    { 
     cell.view.backgroundColor = [UIColor greenColor]; 
    } 

    return cell; 
}