Tuesday 17 July 2018

Edgesforextendedlayout uitableview scroll


Como remover o preenchimento inesperado no cabeçalho de um UITableView Quase toda vez que eu coloco um controlador de navegação, com um controlador de vista de raiz que contém uma visão de tabela, o resultado é uma exibição de tabela com um preenchimento inesperado em seu cabeçalho. A razão pela qual isso acontece é a propriedade UIViewController s automaticamenteAdjustsScrollViewInsets. Que é um valor booleano que indica se o controlador de visualização deve ajustar automaticamente suas inserções de exibição de rolagem. . E é padrão para SIM. A propriedade foi introduzida no iOS 7 e, juntamente com as bordasForExtendedLayout, faz com que o efeito agradável da rolagem de conteúdo abaixo de uma barra de navegação translúcida seja possível. Como corrigi-lo Até agora, encontrei duas maneiras de resolver esse problema de interface do usuário: Defina automaticamenteAdjustsScrollViewInsets como false Configurando o valor automaticAdjustsScrollViewInsets para false resolve o problema. No Interface Builder, isso pode ser feito soltando a opção Inserir ajuste de exibição de rolagem do controlador de exibição onde a vista da tabela é. Tornar a barra de navegação não translúcida Outra opção é tornar a barra de navegação não translúcida. Essa barra de navegação não desencadeia os ajustes das inserções de exibição de rolagem no controlador de visualização. No Interface Builder, isso pode ser feito soltando a opção Translúcido da barra de navegação dos controladores de navegação. Eu também achei que a única maneira de realmente selecionar esse componente é através da árvore de hierarquia de exibição à esquerda. UIViewController contenção Uma nota final nas vistas de tabela embutida através da contenção do controlador de exibição. Para evitar o cabeçalho naqueles, precisamos novamente configurar a falsa a propriedade automaticAdjustsScrollViewInsets do controlador de exibição pai. Isso pareceu-me contrário intuitivo no começo. Mas se pensarmos sobre o funcionamento do processo de contenção, extraindo a visão da criança e colocando-a no pai, torna-se óbvio que as regras de layout, como AutomaticAdjustsScrollViewInsets do pai, também se aplicam à criança. Alimentos para pensamentos Há outra maneira, talvez melhor, de corrigir esse problema. Pode ser evitado, colocando as exibições de forma diferente. Por que o controlador de navegação padrão da tabela do controlador de navegação da biblioteca de componentes do Interface Builder não faz isso. Observe mais profundamente os mecanismos automaticAdjustsScrollViewInsets e edgesForExtendedLayout . Por favor, ative o JavaScript para visualizar os comentários alimentados por Disqus. Mokagios tech journaliOS 7: UITableView mostra em 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