Eu tenho um projeto que foi construído no ano passado, e usa XIBs, sem storyboards. Os XIBs não usam Auto Layout, mas eles usam alguns Autosizing. Tenho um problema ao executar com o iOS7, no qual todas as visualizações estão escondidas sob a barra de status. Compreendo perfeitamente que este é um novo recurso com o iOS7, no qual isso pode ser esperado. No entanto, todas as soluções para corrigi-lo para não fazer isso não estão funcionando. Eu tenho uma imagem no topo da vista que sempre mostra sob a barra de status, e não estou usando barras de navegação ou algo assim. Eu tentei atualizar os Y-deltas no XIB (eles não têm efeito na visualização), tentei configurar as bordasForExtendedLayout para UIRectEdgeNone (não faz nada) e uma infinidade de outras coisas. Toda vez, a barra de status mostra com a vista escondida sob isso, não importa o que eu faça. Isto é, a menos que eu mova manualmente para baixo a vista no XIB para permitir espaço para a barra de status (mas essa solução não funciona porque ele não parece direito no iOS6, é claro). O que é estranho é que, mesmo quando eu tento uma linha de código para cortar em um turno de exibição, ele não funciona (como o seguinte): Não que eu fosse com esse tipo de solução, mas é estranho que não funcionasse (o Apenas tempo eu normalmente vejo que não funciona é se Auto Layout está no lugar, que não é neste caso). É um requisito de design que a barra de status mostra, e estou apenas perplexo porque não consigo configurar a exibição para estar sob a barra de status do iOS7. Eu li todas as publicações de Depuração de pilha no assunto, bem como as instruções de transição das maçãs. Mais uma vez, para reiterar, compreendo perfeitamente como deve funcionar e qual a solução esperada para isso, mas nada disso parece estar funcionando para este projeto em particular. Eu sou um experiente iOS dev, mas este projeto foi construído por outra equipe, então eu não sei se há algo escondido em algum lugar nos arquivos XIB, plist ou código que poderia superar as configurações acima. Por favor, deixe-me saber se há algo mais que pode ser analisado sobre isso, ou mais informações que posso fornecer. Agradeço antecipadamente perguntou 24 de setembro às 19:21 A Apple está empurrando você para usar autolayout para realizar isso. Você precisa definir uma restrição no Guia de layout superior da subvista superior em sua exibição. Veja este documento por exemplos: Para fazer isso sem XIBs, você precisará adicionar a restrição programaticamente. As maçãs docs dão um bom exemplo disto, que eu resumi abaixo. Dando que o TopLayoutGuide é uma propriedade em um controlador de exibição, você apenas usa isso em seu dicionário de ligações variáveis. Em seguida, você configurar a restrição como normal: Exibir é exibido na barra de status no iOS 7 e EdgesForExtendedLayout não ajuda Eu estou tendo um problema que a minha exibição é diplayed sob a barra de status. Depois de pesquisar, descobri que tinha que adicionar This. EdgesForExtendedLayout UIRectEdge. None ao ViewDidLoad () do ViewController, mas isso não funciona para mim. Como referência, usei o exemplo do helloiPad de xamarin (docs. xamarinsamplesHelloiPad) Adicionou uma etiqueta colocando-a no topo da tela no IB. No iOS6, ele é exibido corretamente. Agora eu adicionei a linha this. EdgesForExtendedLayout UIRectEdge. None e executá-lo no simulador iOS7, o rótulo é exibido na barra de status. O que estou fazendo de errado
No comments:
Post a Comment