Aqui está um antes e um depois de uma das minhas telas depois de atualizar para o Xcode 8.
Tudo o que fiz foi abrir meu main.storyboard e, a partir daí, construir e executar meu aplicativo no meu telefone.
No meu controle de versão, posso ver que o Xcode está fazendo muitas alterações no meu main.storyboard apenas depois de abri-lo.
Sempre que excluo essas alterações, posso ver o que uso para ver no Xcode 7.3.1.
Mas, assim que eu reabrir o construtor de interface com meu storyboard, vejo essas mudanças voltando ao lugar.
Posso fazer algo aqui?
102
Debug View Hierarchy
. Outros objetos da mesma classe que estão em UICollectionViews não são os afetados.Respostas:
Tive um problema semelhante com imagens tableview não aparecendo depois que converti o arquivo de storyboard para ser compatível com o Xcode8. Isso parece um bug do Xcode8, então, até que uma correção de bug seja lançada, aqui está uma solução alternativa:
Quando você precisar fazer outras alterações no arquivo de storyboard, siga estas etapas novamente.
fonte
XIB ou Storyboard definido como padrão como versão mais antiga 7.xe Salvar e Fechar. Solução temporária, mas funciona. Não abra novamente depois de salvar e fechar. Caso contrário, novamente precisará seguir os mesmos passos desde o início.
fonte
Eh o mesmo problema. Eu consegui consertá-lo parcialmente da seguinte maneira ( para Xcode Versão 8.1 (8B62) )
No esboço do documento do Storyboard, cliquei em cada cena que tinha a seta amarela indicando alguns problemas de layout (Número 1 na imagem)
Depois disso, para cada cena problemática, eu tinha que clicar no pequeno ícone "Update Frames" (Número 2 na imagem) que corrigia todos os problemas de layout por cena.
No entanto, uma cena no meu caso ainda estava chorando após a transição do Xcode7 para o Xcode8. Tive que consertar manualmente ajustando as restrições ou adicionando restrições ausentes.
Ufa, não é uma boa surpresa de XCode8 e Storyboards. Se você usou o editor AppCode, não terá esse problema, pois ele não suporta Storyboards; P
Boa sorte!
fonte
O Xcode 8.1 Beta 2 resolve esse problema. Por favor, verifique este link de download
https://developer.apple.com/download/
fonte
Siga os tópicos para qualquer solução possível: (eu acredito que isso aconteça com muitos desenvolvedores).
Xcode 8 GM seed Storyboard issue
Xcode 8 - Storyboards anteriores ficando distorcidos
(usei anyH anyW com largura 600) Quando o Xcode foi atualizado para o Xcode 8, ele alterou o tamanho de todos os meus ViewControllers. Como resultado, todo o layout foi distorcido.
Atualmente, vejo apenas 3 soluções para o problema (não esperaria pela correção em breve).
1. Vá para cada Viewcontroller e corrija-o por
Update Frames
.2. Vá para o ViewController principal,
Size Inspector -> Freeform -> 600
pois a maioria dos controladores está deduzida que ele mudará o tamanho de todos eles (tome cuidado com o impacto dos novos recursos que a Apple desejo apresentar).3.Descartar as mudanças no git para o storyboard (eu não sugeriria porque a Apple também inseriu algumas atualizações que podem ser importantes para o Xcode).
Link adicional para os novos recursos do AutoLayout no Xcode 8 (WWDC16): Tornando os aplicativos adaptáveis, parte 1
fonte
No meu caso, funciona as soluções sugeridas por Akhil Kateja e eu também preciso redefinir a Largura e a Altura da visualização principal:
1) Defina o tamanho da vista como forma livre
2) Redefina a largura e a altura da visualização para o tamanho original:
Finalmente salve e pronto.
fonte
Para mim, a solução foi simplesmente clicar no UIViewController com problemas e depois
Editor > Resolve Auto Layout Issues > All Views In ... > Updates Frames
Ele reorganizou as visualizações para se ajustarem às restrições existentes com base na visualização padrão recém-selecionada (iPhone 7 no meu caso).
Observe também: se você receber um aviso de exibição incorreta da barra de navegação como eu, simplesmente selecione UINavigationController / UIViewController e, em seguida
Attributes Inspector > Bar Visibility > Shows Navigation Bar
, desligue-o e ligue-o novamente.fonte
Definir o tamanho da visualização como Freeform de Inferred funcionou para mim. Ele pode ser encontrado sob o título Métricas Simuladas no Inspetor de Atributos .
fonte
Eu tive o mesmo problema e o resolvi forçando a atualização das restrições de visualização do controlador. Coloque o seguinte código em sua função viewDidLoad ()
fonte
Selecionei cada controlador e cliquei em "Atualizar quadros" e consertou o layout.
fonte
A resposta de @ david-truong ( https://stackoverflow.com/a/39589860/1407528 ) não está funcionando no meu caso, então, se você estiver na mesma situação, tente o seguinte:
No caso de você ter todos os seus dispositivos atualizados para iOS 10+, esta versão do Xcode não reconhecerá esses dispositivos como dispositivos compatíveis. Então, tente com este truque:
Nota: Novos recursos como o Swift não estarão disponíveis usando este truque, mas você deve ser capaz de carregar e construir seu projeto.
fonte
Espero que isso ajude
Quando eu atualizei o Xcode 7.3 para o Xcode 8 e executei o aplicativo, algumas das visualizações são perfeitamente exibidas, mas algumas estão distorcidas. Então, eu verifiquei o arquivo nib e ele me pediu para escolher um tamanho de dispositivo específico e, em seguida, mostrar a ponta de acordo com isso tamanho do dispositivo que não é
Any-Any(Xcode 7.3)
. Portanto, todos os arquivos nibs não estão sendo exibidos de maneira correta.A solução funciona comigo: - pressione a seta amarela como mostra a imagem abaixo
ele irá exibir um pop-up que mostra opções como
escolha
Update Frames
comApply to all views in container
check.it irá resolver cerca de 90% da interface do usuário distorcida e o resto do problema de restrições de layout automático pode ser resolvido manualmente.fonte
Corrigi o problema usando o Xcode versão 7.3.1, você pode baixar o arquivo .dmg do portal do desenvolvedor da apple. Usei o Autoresizing em todos os aplicativos e funciona muito bem para mim. Vou atualizar para o Xcode 8 apenas se eles puderem corrigir esse bug.
Faça o download aqui: https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_7.3.1/Xcode_7.3.1.dmg
fonte
Para corrigir um problema semelhante, configurei o xib como Freeform (não inferido) E salvei o arquivo xib como compatível com o Xcode 7.x. Ambas as etapas foram necessárias no meu caso. Espero que ajude!
fonte
Percebo um novo botão no Xcode 8.2, (verifique o círculo laranja na imagem). Isso vai te dar alguma ajuda.
Passos: 1. Abra o storyboard e selecione qualquer dispositivo que você deseja 2. Basta selecionar o Controlador de visualização 3. Clique no botão mencionado (como na imagem) 4. Ele atualizará o quadro para aquele controlador de visualização e você pode prosseguir com ele
Não encontrei solução melhor do que esta. Por favor, responda se encontrar um.
fonte
atualizar restrições e subvisualizações de layout em viewdidload resolve o problema
fonte