Estou tentando alterar a fonte de um UIButton usando Swift ...
myButton.font = UIFont(name: "...", 10)
No entanto, .font
está obsoleto e não sei como alterar a fonte de outra forma.
Alguma sugestão?
Use em titleLabel
vez disso. A font
propriedade está obsoleta no iOS 3.0. Também não funciona no Objective-C. titleLabel
é o rótulo usado para exibir o título UIButton
.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
No entanto, ao definir o texto do título, você deve usar apenas setTitle:forControlState:
. Não use titleLabel
para definir nenhum texto para o título diretamente.
titleLabel
é uma propriedade opcional.Obrigado anteriormente na versão beta, não era.myButton.titleLabel?.font = ...
vai funcionar, pois se titleLabel é nulo será apenas um não-opPara o Swift 3.0 :
onde "boldSystemFont" e "16" podem ser substituídos por sua fonte e tamanho personalizados.
fonte
A notação de pontos é impressionante (rápido 4,2) 👌
fonte
Você não precisa forçar a desembrulhar o titleLabel para defini-lo.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Como você não está usando o titleLabel aqui, é possível usá-lo opcionalmente e, se for nulo, será apenas um não operacional.
Também adicionarei, como outras pessoas estão dizendo, que a propriedade da fonte foi descontinuada e certifique-se de usá-la
setTitle:forControlState:
ao definir o texto do título.fonte
A partir da documentação :
fonte
Se você estiver com problemas de tamanho da fonte (sua fonte não está respondendo a alterações de tamanho) ...
@codester tem o código certo:
No entanto, o tamanho da minha fonte não estava mudando. Acontece que eu pedi uma fonte que não existia ("HelveticaNeue-Regular"). Não estava causando um acidente, mas parecia estar apenas ignorando a declaração da fonte por causa disso. Depois que eu mudei a fonte para algo que existe, as alterações para "size: x" renderizaram.
fonte
podemos usar diferentes tipos de fontes do sistema, como abaixo
e sua fonte personalizada como abaixo
fonte
Você deve passar pela
titleLabel
propriedade.button.titleLabel.font
A
font
propriedade foi descontinuada desde o iOS 3.0.fonte
Dê uma olhada aqui .
Você deve definir a fonte do titleLabel do botão.
fonte
Isso funciona no Swift 3.0:
fonte
Se você estiver definindo AttributedString como UIButton, poderá fazer o seguinte.
fonte
Se você precisar alterar apenas o tamanho ( Swift 4.0 ):
fonte
Exemplo:
button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
fonte
Desta forma, não funciona agora:
Isso funciona:
fonte
este trabalho para mim, obrigado. Quero alterar o tamanho do texto apenas não alterar o nome da fonte.
btnMenu9.titleLabel? .font = .systemFont (ofSize: CGFloat (fontSizeButtonBig))
fonte