UIFont
tem métodos para obter fonte regular ( systemFontOfSize
) ou fonte em negrito ( boldSystemFontOfSize
), mas como obter uma "fonte fina do sistema" disponível por meio do storyboard?
Passar "system-thin" para o UIFont
Contructor não funciona, este construtor só funciona para fontes que não são do sistema.
A partir do iOS 8.2 , agora você pode usar
UIFont.systemFontOfSize(_ fontSize: CGFloat, weight weight: CGFloat)
:UIFont.systemFontOfSize(19, weight: UIFontWeightLight)
iOS SDK forneceu constantes para pesos:
Usar fonte do sistema é melhor do que criar uma fonte com base no nome da fonte quando você deseja usar fontes do sistema, já que o iOS pode alterar suas fontes do sistema no iOS (como quando eles fizeram com Helvetica Neue no iOS 7, e agora, San Francisco no iOS 9) .
Então, o que eu sugeriria é incluir o arquivo TTF da fonte que você deseja, usar esse arquivo ttf como fonte personalizada e usar a fonte personalizada em seu aplicativo.
Esta é a razão especial pela qual não gosto da Apple. Nunca faça o que a Apple diz. Sempre faça o que queremos. A Apple continua mudando a fonte padrão para cada sistema operacional.
fonte
Além disso, se você quiser manter o mesmo tamanho de fonte e apenas alterar o peso, use o tamanho de fonte do elemento de destino. Por exemplo:
com isso, você pode manter o tamanho da fonte do rótulo padrão e apenas alterar o peso.
No iOS 11, UIFontWeightThin foi renomeado para
UIFont.Weight.thin
. Mais você pode obter aqui https://developer.apple.com/documentation/uikit/uifont.weight .fonte
Swift 4.2
fonte