Tuesday 15 May 2018

Edgesforextendedlayout barra de status


Eu tenho um projeto que foi construído no ano passado e usa XIBs, sem storyboards. Os XIBs não usam Layout automático, mas usam algum dimensionamento automático. Eu tenho um problema ao executar com o iOS7, em que todas as vistas estão escondidas sob a barra de status. Compreendo perfeitamente que este é um novo recurso do 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 exibição que sempre aparece sob a barra de status, e não estou usando barras de navegação ou qualquer coisa assim. Eu tentei atualizar os deltas Y no XIB (eles não têm nenhum efeito sobre a exibição), tentei definir o edgesForExtendedLayout para UIRectEdgeNone (não faz nada) e uma infinidade de outras coisas. Toda vez, a barra de status é mostrada com a visão sob ela, não importa o que eu faça. ou seja, a menos que eu mova manualmente a visualização no XIB para permitir espaço para a barra de status (mas essa solução não funciona porque não parece correta no iOS6, é claro). O que é estranho é que mesmo quando eu tento uma linha de código para hackear um view-shift, ele não funciona (como o seguinte): Não que eu fosse com esse tipo de solução, mas é estranho que não funcionasse apenas o tempo que eu normalmente vejo que não funciona é se Auto Layout está no lugar, o que não é neste caso). É um requisito de design que a barra de status mostra, e estou apenas perplexo com o motivo pelo qual eu não posso definir a visão para estar sob a barra de status para o iOS7. Eu li todos os posts do Stack Overflow sobre o assunto, assim como a transição / guias da Apple. Mais uma vez, para reiterar, compreendo perfeitamente como deve funcionar e qual deve ser a solução esperada para isso, mas nada disso parece estar funcionando para esse 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 estar superando as configurações acima. Por favor, deixe-me saber se há algo mais que possa ser analisado, ou mais informações que posso fornecer. Obrigado antecipadamente perguntou 24 de setembro 13 às 19:21 Apple está empurrando você para usar o autolayout para conseguir isso. Você precisa definir uma restrição para o Top Layout Guide a partir da subvisão principal em sua visualização. Veja este documento para exemplos: Para fazer isto sem XIBs, você precisará adicionar a restrição programaticamente. Maçãs docs dar um bom exemplo disso, que resumi abaixo. Dando que o topLayoutGuide é uma propriedade em um controlador de visualização, basta usá-lo em seu dicionário de ligações variáveis. Em seguida, você configura sua restrição como normal: a Visualização é exibida na barra de status no iOS 7 e o EdgesForExtendedLayout não ajuda a ter um problema de exibição da minha exibição na barra de status. Depois de pesquisar, descobri que tinha que adicionar this. EdgesForExtendedLayout UIRectEdge. None ao ViewDidLoad () do ViewController, mas não funciona para mim. Como referência usei o exemplo do helloiPad do xamarin (docs. xamarin / samples / HelloiPad). Adicionado um rótulo posicionando-o no topo da tela no IB. No iOS6, é exibido corretamente. Agora eu adicionei a linha this. EdgesForExtendedLayout UIRectEdge. None e executei no simulador iOS7, o rótulo é exibido na barra de status. O que estou fazendo errado? edgesForExtendedLayout não está funcionando Eu tenho lido muito sobre a transição da interface do iOS7. Eu não sou capaz de obter o que essas três propriedades automaticamenteAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBar eu tenho lido muito sobre a transição da interface do iOS7. Eu não sou capaz de obter o que essas três propriedades automaticamenteAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout Você pode ver na imagem botão aboutus e botão de busca. a vista não começa corretamente. ele começa na barra de status superior. Na verdade, no ios 6, comece abaixo da barra de status. Eu criei um ui de forma progressiva (não estou usando o storyboard). Eu tenho google e tenho a seguinte solução, mas não vai funcionar eu tenho escrever o seguinte código no meu Homeviewcontroller Meu rootviewcontroller é barra de guia eu também tentei isso, mas não tive sucesso por favor me avise eu não sei o que estou fazendo de errado. Agradecemos antecipadamente Publicado em 25 de setembro de 2013 às 00:58 Apple Footer Este site contém conteúdo enviado pelo usuário, comentários e opiniões e é apenas para fins informativos. A Apple pode fornecer ou recomendar respostas como uma possível solução com base nas informações fornecidas. Qualquer problema em potencial pode envolver vários fatores não detalhados nas conversas capturadas em um fórum eletrônico, e a Apple não pode garantir a eficácia de quaisquer soluções propostas na comunidade. fóruns. A Apple se isenta de toda e qualquer responsabilidade pelos atos, omissões e conduta de terceiros em conexão com ou relacionados ao uso do site. Todos os lançamentos e o uso do conteúdo deste site estão sujeitos aos Termos de Uso das Comunidades de Suporte da Apple. Apple Copyright Apple Inc. Todos os direitos reservados.

No comments:

Post a Comment