Sunday 3 December 2017

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 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. Então você configura sua restrição como normal: iOS 7: UITableView mostra na barra de status A primeira tela do meu aplicativo é UITableViewController sem uma barra de navegação, o que significa que o conteúdo flui sob a barra de status para que haja muitas colisões de texto. Eu ajustei as propriedades para as barras inferiores e Ajustar as inserções de exibição de rolagem, que realmente o impedem de se deslocar para baixo, mas ao custo de manter a parte superior da vista da tabela abaixo. Eu tentei configurar o quadro UITableView para compensar por 20 pixels, mas ele não parece ter efeito. Na sua viewDidLoad, adicione estas linhas: iOS 7: UITableView mostra em barra de status Avaliado por Ricardo Castellanos em 11:48 Classificação: 5

No comments:

Post a Comment