Pergunta

Qual é o nome da fonte do sistema padrão no iPhone?

Eu gostaria de recuperar isso para personalizar um UIView.

Foi útil?

Solução

Para o deleite dos puristas de fontes em todos os lugares, a interface do sistema iPhone usa helvetica ou uma variante.

A interface original do iPhone, iPhone 3G e iPhone 3GS usa Helvetica. Como observado pela primeira vez pelo sempre excelente Daringfireball, o iPhone 4 usa uma fonte sutilmente revisada chamada "Helvetica Neue". O Daringfireball também observa que essa alteração está relacionada à tela do iPhone 4, em vez do sistema operacional iOS 4 e aos modelos mais antigos do iPhone, executando o iOS 4, ainda usam o Helvetica como fonte do sistema.

Os modelos iPod lançados antes do iPhone usam Chicago, Espy Sans ou Miríade e use Helvetica após o lançamento do iPhone.

A partir de http://www.everyipod.com/iphone-daq/iphone-who-designed-iphone-font-ususe-iphone-ringtones.html

Por iOS9 mudou para São Francisco. Ver http://developer.apple.com/fonts para mais informações.

Outras dicas

Se você estiver fazendo personalização programática, não codifique a fonte do sistema. Usar UIFont systemFontOfSize:, UIFont boldSystemFontOfSize: e UIFont italicSystemFontOfSize (Documentação da Apple).

Isso se tornou especialmente relevante desde o iOS 7, que mudou a fonte do sistema para Helvetica Neue.

Isso se tornou super especialmente relevante desde o iOS 9, que mudou a fonte do sistema novamente Para São Francisco.

Afaik iPhone usa "helvética"Por padrão <iOS 10

Rápido

Fonte específica

Definir uma fonte específica em Swift é feita assim:

let myFont = UIFont(name: "Helvetica", size: 17)

Se você não souber o nome, poderá obter uma lista dos nomes de fontes disponíveis como este:

print(UIFont.familyNames())

Ou uma lista ainda mais detalhada como esta:

for familyName in UIFont.familyNames() {
    print(UIFont.fontNamesForFamilyName(familyName))
}

Mas a fonte do sistema muda de versão para versão do iOS. Portanto, seria melhor obter a fonte do sistema dinamicamente.

Fonte do sistema

let myFont = UIFont.systemFontOfSize(17)

Mas temos o tamanho codificado. E se os olhos do usuário estiverem ruins e eles quiserem aumentar a fonte? Obviamente, você pode fazer uma configuração no seu aplicativo para o usuário alterar o tamanho da fonte, mas isso seria irritante se o usuário tivesse que fazer isso separadamente para cada aplicativo do telefone. Seria mais fácil fazer apenas uma alteração nas configurações gerais ...

Fonte dinâmica

let myFont = UIFont.preferredFont(forTextStyle: .body)

Ah, agora temos a fonte do sistema no tamanho escolhido pelo usuário para o Estilo de texto Estamos trabalhando com. Esta é a maneira recomendada de definir a fonte. Ver Suportando o tipo dinâmico Para mais informações sobre isso.

Relacionado

Você sempre pode usar

UIFont *systemFont = [UIFont systemFontOfSize:12];
NSLog(@"what is it? %@ %@", systemFont.familyName, systemFont.fontName);

A resposta é:

Até iOS 6

 Helvetica Helvetica

iOS 7

.Helvetica Neue Interface .HelveticaNeueInterface-M3

Mas você pode apenas usar Helvetica Neue

Não tenho certeza se há uma API para obter o nome da fonte do sistema padrão. Então, eu só recebo o nome assim:

    //get system default font
    UILabel *label = [[UILabel alloc] init];        
    fontname = label.font.fontName;
    [label release];

Parece estúpido, mas funciona.

Aqui está alguma atualização para apoiar iOS 7. Tem Dynamic Font Size agora.

Para todos e quaisquer aplicativos que suportem o "tipo dinâmico", os usuários podem selecionar um tamanho de fonte no iOS 7 que trabalha em grande parte do sistema, simplesmente visitando a seção "Geral" em "Configurações" e selecionando "Tamanho da fonte".

UIFont *dynamicFont  = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];

E lista de constantes, Explicação detalhada é aqui

NSString *const UIFontTextStyleHeadline;
NSString *const UIFontTextStyleSubheadline;
NSString *const UIFontTextStyleBody;
NSString *const UIFontTextStyleFootnote;
NSString *const UIFontTextStyleCaption1;
NSString *const UIFontTextStyleCaption2;

Categoria Uifontsystemfonts por Uifont (Uiinterface.h) fornece vários tamanhos predefinidos convenientes.

@interface UIFont (UIFontSystemFonts)
 + (CGFloat)labelFontSize;
 + (CGFloat)buttonFontSize;
 + (CGFloat)smallSystemFontSize;
 + (CGFloat)systemFontSize;
@end 

Eu o uso para mensagens de bate -papo (etiquetas) e funciona bem quando preciso obter o tamanho dos blocos de texto.

 [UIFont systemFontOfSize:[UIFont labelFontSize]];

Codificação feliz!

UIFont *systemFont = [UIFont systemFontOfSize:[UIFont systemFontSize]];

Isso fornecerá a fonte do sistema com o tamanho da fonte do sistema padrão aplicado para os textos da etiqueta por padrão.

Rápido

Você sempre deve usar os padrões do sistema e não codificar o nome da fonte porque a fonte padrão pode ser alterada pela Apple a qualquer momento.

Existem algumas fontes padrão do sistema (Normal, negrito, itálico) com tamanhos diferentes (etiqueta, botão, outros):

let font = UIFont.systemFont(ofSize: UIFont.systemFontSize)
let font2 = UIFont.boldSystemFont(ofSize: UIFont.systemFontSize)
let font3 = UIFont.italicSystemFont(ofSize: UIFont.systemFontSize)

Beaware que o tamanho da fonte padrão depende da visualização de destino (etiqueta, botão, outros)

Exemplos:

let labelFont = UIFont.systemFont(ofSize: UIFont.labelFontSize)
let buttonFont = UIFont.systemFont(ofSize: UIFont.buttonFontSize)
let textFieldFont = UIFont.systemFont(ofSize: UIFont.systemFontSize)
  1. Faça o download do arquivo .ttf

  2. Adicione o arquivo .ttf em Recurso de pacote de copiar, verifique se o arquivo TTF é adicionado em recurso

  3. In info.plist, adicione o nome do arquivo TTF como está.

  4. Agora abra o livro de fontes Adicione o arquivo .ttf no livro de fontes, selecione o ícone Informações lá você encontra o nome do PostScript.

  5. Agora dê o nome PostScript no local do nome da fonte

A fonte padrão para iOS é São Francisco. Você pode consultar o link para mais detalhes

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top