Pergunta

Eu tenho alguns uilabels na minha opinião com o conjunto de altura deles usando sizeWithFont:.

Defino a máscara automática para largura e altura flexíveis, no entanto, ao girar as mudanças de largura (estou assumindo porque a largura de Self.View muda e seu conjunto com uma largura em relação à auto -visão), mas a altura não muda para se ajustar ao conteúdo do conteúdo novamente. Isso resulta em um grande espaço branco na parte superior e inferior.

Apenas me perguntando como eu iria redimensionar o Uilabel em rotação? Existe alguma maneira automática de fazer isso, ou existe uma maneira de obter todos os uilabels e refazer sizeWithFont Quando o dispositivo é girado?

Os Uilabels são subviews das hinderarquias do UIView usadas como cabeçalhos para seções no meu UAableView.

Obrigado Tom

Foi útil?

Solução 2

O problema era ter uma margem flexível e direita flexível em um Uilabel ligeiramente deslocado.

Se o rótulo não estiver centrado, você precisará escolher esquerda ou direita e definir a margem flexível para um deles.

Outras dicas

Você realmente deveria enviar sizeToFit Para qualquer UIView, especialmente Uilabel, em vez de forçar algum tamanho arbitrário neles.

A melhor abordagem é geralmente definir a largura máxima e a altura atual e depois enviar sizeToFit, depois ajuste a largura novamente, se necessário. No caso de rótulos multilinas, parece a maneira mais infalível de evitar bugs de layout.

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