Можно ли изменить тип и размер шрифта в UITableView?

18

Я хочу изменить тип и размер шрифта в UITableView . Например, как я могу установить его в Tahoma?

    
задан RAGOpoR 17.02.2010 в 16:11
источник
  • ваш вопрос - это общий характер касания. Было бы полезно узнать, какого эффекта вы пытаетесь достичь. В приведенном ниже ответе показано, как изменить шрифт UITableViewCell. Вы также можете определить свой собственный полностью новый подкласс UIView для отображения в ячейке –  Kevin 17.02.2010 в 16:20

2 ответа

35
cell.textLabel.font = [UIFont fontWithName:@"ArialMT" size:144];

, где cell - UITableViewCell , вы вернетесь в -tableView:cellForRowAtIndexPath: .

Tahoma по умолчанию не поставляется с iOS , и вы не можете законно скопировать его без надлежащей лицензии. Но вы можете предоставить бесплатный шрифт, если вам не нравится Arial, см. Как включить и использовать новые шрифты в iPhone SDK? .

    
ответ дан kennytm 17.02.2010 в 16:14
источник
  • *** Сбой утверждения в - [UILabel setFont:], /SourceCache/UIKit/UIKit-963.10/UILabel.m:445 –  RAGOpoR 17.02.2010 в 16:50
  • @RAGOpoR: Поскольку Tahoma не существует на iPhoneOS. –  kennytm 17.02.2010 в 16:58
  • Как я узнал, какой шрифт доступен для него? –  RAGOpoR 17.02.2010 в 17:02
  • @RAGOpoR: Проверьте [имена пользователей UIFont]. По умолчанию их можно найти также в iphonedevwiki.net/index.php/UIFont. –  kennytm 17.02.2010 в 17:05
  • Еще один удобный список шрифтов iOS 4/5/6: iosfonts.com Кроме того, список шрифтов Apple для iOS 5 и 6: support.apple.com/kb/HT4980 support.apple.com/kb/HT5484 –  Basil Bourque 12.01.2013 в 08:55
7

Чтобы добавить ответ KennyTM :

Вы можете использовать метод - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath делегирования UITableView , чтобы настроить UITableViewCell следующим образом:

 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
   cell.textLabel.textColor=[UIColor whiteColor];
   cell.detailTextLabel.font=[UIFont fontWithName:@"Helvetica" size:16.0];
   cell.detailTextLabel.textColor=[UIColor whiteColor];
}

Документ Apple гласит:

  

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

    
ответ дан rohan-patel 16.03.2013 в 12:11
источник