2013-03-24 7 views
0

Где я могу добавить свою пользовательскую метку ячейки таблицы в моем UITableview при использовании NSCoder? Я уже создал класс UITableViewCell и подключил все в построителе интерфейса.Где я могу добавить свою собственную метку ячейки таблицы в моем UITableview при использовании NSCoder?

Я попытался заменить cell.textLabel.text = oneName.name; withcell.label.text = oneName.name;, и он просто показывает черный квадрат.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 
    if (!cell) { 
     cell = [[CustomCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 
    // Configure the cell... 
    NSUInteger row = [indexPath row]; 
    DrillObject *oneName = [self.addDrill objectAtIndex:row]; 
    cell.textLabel.text = oneName.name; 



    return cell; 
} 
+0

Что вы подразумеваете под «при использовании NSCoder»? – Matt

+0

Я только сказал, что, поскольку обычный способ реализации этой функции не работает cell.label.text = [addDrill objectAtIndex: indexPath.row]; –

ответ

0

Вы уверены, что ваша наклейка имеет нужный размер? При использовании пользовательских ячеек, я действительно рекомендую использовать бесплатную среду Sensible TableView. Структура автоматически загружает данные ваших объектов в пользовательские метки, а также автоматически изменяет размер ярлыков/ячеек, когда это необходимо.

+0

Метка была слишком мала, спасибо большое !!!!! –

0

Есть варианты эвакуаторы, чтобы добавить метку к классу CustomCell, как вы хотите здесь:
1- добавить ярлык на вашу ячейку в XIb файл и присвоить тег для него, а затем создать геттер, как это:

-(UILabel*)label 
{ 
    id label = [self viewByTag:3]; 
    if([label isKindOfClass:[UILabel class]]) 
    { 
      return label; 
    } 
    return nil; 
} 

2- создать метку в методе инициализации и не забудьте установить цвет фона этикетки, чтобы очистить цвет, как это:

UILabel *label = [UILabel alloc] initWithFrame:myFreame]; 
[label setBackgroundColor:[UIColor clearColor]]; 

// now you should have property on .h file like this 
@property (nonatomic, weak) UILabel *label; 
// so back to the init dont forget to do this 

_label = label; 

это так.

+0

Для первого это то же самое, если im использует раскадровки, потому что он дает ошибку для 'self.view' –

+0

, какую ошибку вы получаете? Если вы сделаете это из класса CustomCell, просто сделайте это [self viewByTag: 3] без просмотра. –