Wednesday 26 September 2018

Edgesforextendedlayout ios 6


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ê configura sua restrição como normal: Navegação de mensagens Conteúdo em tela cheia e EdgesForExtendedLayout no iOS 7 Uma das diferenças que salta dramaticamente para um programador 8212, especialmente aqueles de nós que tipicamente criam nossas interfaces de usuário em código, em vez de usar uma superfície de design visual 8212 É o novo conceito 8220full-screen content8221. Isto é particularmente evidente com UINavigationController s. Esta imagem mostra a diferença entre o modo padrão (UIViewController. EdgesForExtendedLayout UIRectEdge. All) e o estilo 8220iOS 68221 (UIViewController. EdgesForExtendedLayout UIRectEdge. None). Você pode ver isso no modo UIRectEdge. All, o atual retângulo de desenho UIView 8216s cobre toda a tela 8212, você pode ver as diagonais se estenderem sob a barra de navegação, barra de ferramentas e até mesmo a barra de status, e você pode ver a tonalidade azul que vem até Esses elementos (também são borrados, o que você não vê na imagem). 3 pensamentos sobre ldquo Conteúdo em tela cheia e EdgesForExtendedLayout no iOS 7 rdquo Larry O8217Brien: Conteúdo em tela cheia e ExtendedEdgesForLayout no iOS 7 8211 t. co87LsOOon80 xamarin planet

No comments:

Post a Comment