Tamanho mínimo da fonte obsoleto no ios versão 6.0


92

Acabei de atualizar para o xcode 4.5 com iOS 6.0 e está destacando um aviso em todos os UILabels em meus arquivos XIB dizendo "tamanho mínimo da fonte obsoleto no ios versão 6.0". Alguém sabe do que se trata e como consertar?

Atualização: a imagem não está mais disponível (estava em https://skitch.com/hahmadi82/eyk51/cloud )


1
@HoomanAhmadi: todos os desenvolvedores iOS receberam esse e-mail. Leia o disclamer na parte inferior: "Software de pré-lançamento ..."
Rok Jarc

7
Altere "Tamanho mínimo da fonte" na seção Redução automática para "Escala mínima da fonte". : p Apenas tive o mesmo problema e vim direto para cá presumindo que as fontes não violariam o NDA. Parece que as fontes passaram por algumas mudanças na atualização.
erran

18
Eu levantei esta questão porque ela não foi fechada corretamente. Pelo menos o motivo do fechamento está errado, errado, errado. "é relevante apenas para uma pequena área geográfica", não. Isso se aplica a todos os desenvolvedores iOS. "situação extraordinariamente estreita que não é geralmente aplicável à audiência mundial da Internet" não. Aplica-se a todos. "É improvável que esta questão ajude futuros visitantes", não. Foi incrivelmente útil para mim e provavelmente igualmente útil para qualquer desenvolvedor iOS. Eu entendo o problema do NDA, mas assim que o NDA for retirado, esta questão será levantada.
Jean-Denis Muys

9
Gente, a primeira vez que consertei isso, fiz manualmente e foi um tipo especial de tortura. Então eu tive que mesclar algumas mudanças e, graças ao Xcode beta, ele me deu o emacs como minha ferramenta de mesclagem, então eu me livrei disso e peguei a versão mais recente do arquivo sabendo que iria jogá-las fora, mas então refiz essas mudanças usando TextWrangler: os arquivos são xml. Basta substituir: autoshrinkMode = "minimumFontSize" por autoshrinkMode = "minimumFontScale" e substituir minimumFontSize = "10" por minimumFontScale = "0,5". Voila.
Rob

1
@LittleBobbyTables: No entanto, seria ótimo se as pessoas perguntassem com educação . Zangado e choramingando como um comentário de matheszabi é uma ótima maneira de me convencer a não reabrir uma pergunta.
CA McCann

Respostas:


47

minimumFontSizea propriedade do UILabelestá obsoleta do iOS 6.0 em diante.

Uma alternativa para o minimumFontSizeé minimumScaleFactor. Se você atribuir minimumFontSize/defaultFontSizea minimumScaleFactor, funcionará da mesma maneira que minimumFontSize.

O código é o seguinte - por exemplo, o tamanho da fonte é 30,0 e se você quiser que o tamanho mínimo da fonte seja 12,0

YOURLABEL.font= [UIFont fontWithName:@"FONT_NAME" size:30.0];
[YOURLABEL setMinimumScaleFactor:12.0/[UIFont labelFontSize]];


8

Correção rápida ... Aqui, o tamanho mínimo da fonte é 8,0

            CGFloat size = textLabel.font.pointSize;// font size of label text
            [textLabel setMinimumScaleFactor:8.0/size];

5

Estou respondendo muito tarde, mas posso ajudar qualquer outro. Como todo mundo sabe que setMinimumFontSizefoi descontinuado, outro método de substituição setMinimumFontSizeé o setAdjustFontToFitWidthque leva, BOOL por exemplo,

[yourLabel setAdjustsFontSizeToFitWidth:YES];
//or
yourLabel.adjustsFontSizeToFitWidth = YES;

3

Eu tive um problema semelhante. A solução rápida é usar a propriedade MinimumScaleFactor de UILabel.


3

Para Swift, use o seguinte:

//set the number (ex. 8 to your desired minimum font size)
myLabel!.minimumScaleFactor = 8/myLabel!.font.pointSize;`

Funciona como um encanto!


1

Vá para o Finder e encontre o .storyboardarquivo ou o seu .xibe abra com o TextEdit. Use find para localizar a string "autoshrinkMode"e substituir o valor "minimumFontSize"para"minimumFontScale"

Estranho que a conversão não tenha sido escrita nos scripts de atualização ...

Também agradecemos a @Rob nos comentários acima por declarar a mesma resposta. Ele deve receber crédito por este.


não há autoshrinkMode em meu arquivo de storyboard.
Timuçin

Obrigado, isso funciona para mim perfeitamente. @Tim você só tem que selecionar o UILabel, e verificar a opção "label" no painel direito do utilitário, e verificar as opções, você verá um chamado "Autoshrink". i.stack.imgur.com/H6YYJ.png
pabloverd

0

Você pode usar o fator de escala mínimo ali ou arrastar uma etiqueta e definir autoshrik-> fonte mínima.

Talvez isso possa te ajudar.


0

Sim minumumFontSizeestá obsoleto.

Use o seguinte minimumScaleFactor:-

Obj.minimumScaleFactor= (floatValue);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.