Saturday, 12 August 2017

Edgesforextendedlayout Ios 6


Eu tenho um projeto que foi construído no ano passado, e ele usa XIBs, não 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 na parte superior da exibição que sempre aparece sob a barra de status, e eu não estou usando nav-bares ou algo assim. Eu tentei atualizar os Y-deltas no XIB (eles não têm nenhum efeito sobre a exibição), eu tentei definir o edgeForExtendedLayout para UIRectEdgeNone (não faz nada), e uma infinidade de outras coisas. Toda vez, a barra de status mostra com a visão dobrada sob ele, não importa o que eu faço. Que é a menos que eu manualmente mover 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 olha direito no iOS6, é claro). O que é estranho é que mesmo quando eu tento uma linha de código para cortar em um turno de visão, ele não funciona (como o seguinte): Não que eu iria com esse tipo de solução, mas é apenas estranho que não funcionou Somente o tempo que 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 eu apenas perguntei por que não consigo definir a exibição para estar sob a barra de status do iOS7. Eu li cada postagem de estouro de pilha sobre o assunto, bem como a transição de maçãs / guias. 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 este projeto específico. Eu sou um experiente iOS dev, mas este projeto foi construído por outra equipe, então eu não sei se theres algo escondido em algum lugar nos arquivos XIB, plist, ou código que poderia ser trumping 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. Obrigado antecipadamente perguntou Sep 24 13 às 19:21 Apple estão empurrando você usar autolayout para realizar isso. Você precisa definir uma restrição para o Top Layout Guide da subview superior em sua visã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 vista, você apenas usá-lo em seu dicionário de ligações variáveis. Em seguida, você configurar a restrição como normal: Navegação Navegação Full Screen Conteúdo e EdgesForExtendedLayout no iOS 7 Uma das diferenças que salta drasticamente para um programador 8212, especialmente aqueles de nós que normalmente construir o nosso UIs em código, em vez de usar uma superfície de design visual 8212 É o novo conceito de conteúdo de tela cheia 8220. Isto é particularmente evidente com UINavigationController s. Esta imagem mostra a diferença entre o modo padrão (UIViewController. EdgesForExtendedLayout UIRectEdge. All) eo 8220iOS 68221-style (UIViewController. EdgesForExtendedLayout UIRectEdge. None). Você pode ver isso no modo UIRectEdge. Todos, o atual retângulo de desenho do UIView 8216s cobre toda a tela 8212, você pode ver as diagonais estender sob a barra de navegação, barra de ferramentas e até mesmo a barra de status, e você pode ver a tonalidade azul chegando até Esses elementos (eles também são desfocados, o que você não pode ver na imagem). 3 pensamentos sobre ldquo Full Screen Conteúdo e EdgesForExtendedLayout em iOS 7 rdquo Larry O8217Brien: Conteúdo em tela cheia e ExtendedEdgesForLayout em iOS 7 8211 t. co/87LsOOon80 xamarin planetView é exibido na barra de status no iOS 7 e EdgesForExtendedLayout doesnt ajuda Im tendo um problema que o meu Exibida na barra de status. Após a pesquisa eu achei que eu tinha que adicionou this. EdgesForExtendedLayout UIRectEdge. None para o ViewDidLoad () do ViewController, mas não funciona para mim. Como referência eu usei o exemplo helloiPad de xamarin (docs. xamarin / samples / HelloiPad) Adicionado um rótulo posicionando-o na parte superior da tela em IB. Em iOS6 seu 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