2013-12-05 3 views
4

пытается использовать другой шрифт и размер шрифта на TabelViewCell, но не работает.Приведенный текст не работает на TableView Cell

Вот что я пробовал:

cell.textLabel.attributedText = [infoCells objectAtIndex:indexPath.row]; 

Этот код делает приложение аварии

Затем я попытался это:

cell.textLabel.text = [infoCells objectAtIndex:indexPath.row]; 

Теперь все работает, но шрифт и размер шрифта делает не изменить.

Вот некоторый код из моего приложения:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    infoCells = [[NSMutableArray alloc] initWithCapacity:2]; 


    [infoCells addObject:@"DOI"]; 
    [infoCells addObject:@"WIS?"]; 
    [infoCells addObject:@"اللَّهُمَّ إِنِّي أَسْتَخِيرُكَ بِعِلْمِكَ وَأَسْتَقْدِرُكَ بِقُدْرَتِكَ"]; 

} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 


    // Configure the cell... 

    cell.textLabel.attributedText = [infoCells objectAtIndex:indexPath.row]; 

    cell.textLabel.font = [UIFont fontWithName:@"Adobe Arabic" size:20]; 

    return cell; 

} 
+1

Ваш массив 'infoCells' не содержит объектов' NSAttributedString'. Просто нормальные объекты 'NSString'. – rckoenes

+0

как я могу привязать строки? – user1951876

+0

Вы создаете объект 'NSAttributedString' и снабжаете его соответствующими атрибутами. – rckoenes

ответ

6

Вам нужно сделать NSMutableAttributedString строку, а затем присвоить его. Поэтому для получения дополнительной информации см. В этом примере.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    { 
     static NSString *CellIdentifier = @"Cell"; 
     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 


     // Configure the cell... 

    NSMutableAttributedString *str=[[NSMutableAttributedString alloc] initWithString:[infoCells objectAtIndex:indexPath.row]]; 
[str addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Helvetica-Bold" size:50] range:NSMakeRange(0, str.length)]; 

     cell.textLabel.attributedText = str; 

     //cell.textLabel.font = [UIFont fontWithName:@"Adobe Arabic" size:20]; 

     return cell; 

    } 
+0

Что такое 'orderAttString'? Ошибка: использование необъявленного идентификатора – user1951876

+0

ohh sry dear.Its моя глупая ошибка. теперь см. мой отредактированный ответ ... –

+0

все еще получает ошибку: 'Завершение приложения из-за неперехваченного исключения 'NSInvalidArgumentException', причина: 'NSConcreteMutableAttributedString addAttribute: value: range :: nil value'' – user1951876

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