Saturday 19 August 2017

Edgesforextendedlayout Error Sans


Então estou tentando fazer um botão central em um UINavigationBar semelhante à popular personalização UITabBar. Mas tem um pequeno problema. Basicamente, tudo está funcionando bem, eu tenho o ajuste da barra de tamanho, mostrando o títuloVer corretamente, trabalhando com AutoLayout (topLayoutGuide). Mesmo a animação push está funcionando bem. Mas a animação pop está falhando. É screenshotting ou recorte para limites e eu não consigo encontrar um bom trabalho que não me faça querer fazer um controle personalizado e ignorar UINavigationBar. Heres um vídeo mostrando exatamente o que está acontecendo. Tinypicr2vl8yl18 Heres algum código para o navegador personalizadoBar: Aqui está o código obtendo o botão lá em cima: Geralmente UINavigationBar alta é 65. E demora cerca de 10 yOffset antes Título para StatusBar. Então U pode definir seu título dentro de 10 a 65 yOffset of NavigationBar. A altura máxima do seu botão é (65-10) 55. Então, você tem duas soluções: você pode alterar a altura e a largura do seu botão como, let buttonWrapper UIView (frame: CGRect (x: 0, y: 0, width: 45.0, height: 45.0)) Ou você pode alterar o valor yOffset De Button like, let buttonWrapper UIView (frame: CGRect (x: 0, y: -8, width: 60.0, height: 60.0)) Neste controlador de visualização, inicializo um UIScrollView. Adicione-o à hierarquia e adicione restrições de autolayout em viewDidLoad. E adicione uma subvisão de imagem em viewDidLayoutSubviews. Se eu atribuir isso a uma visualização independente no Storyboard, ele se comporta como esperado (exibição de rolagem quadrada com uma imagem, eu posso rolar). No entanto, se eu incorporar essa visão em um controlador de navegação, sem fazer outras alterações, eu recebo uma tela preta que preenche a janela, sem imagem. Por que isso está acontecendo, e como posso corrigi-lo Eu vi outras questões 1 2 que sugerem a configuração do tamanho do conteúdo. No entanto, estou tentando usar o autolayout em vez de definir o tamanho do conteúdo diretamente. Aqui está um exemplo mínimo, mas completo. Mais uma vez: funciona com visualização independente, não quando incorporado: a remoção da linha a seguir soluciona um problema e apresenta outro: O UIScrollView. Com a subvisão de imagem, agora aparecem na vista independente e quando incorporados no controlador de navegação. No entanto, existe agora um espaço extra, indesejável, na parte superior do scrollview do controlador incorporado. Eu pensei que TopLayoutGuide era a visão apropriada para o alinhamento - este não é o caso O problema de inserção foi corrigido configurando self. automaticallyAdjustsScrollViewInsets para false. De acordo com esta questão 3. Não se comporta como pretendido. No iOS10, funciona para mim. Im Construindo um projeto no qual eu quero adicionar uma exibição de rolagem no Controle de Navegação, Primeiro, Adicionar ScrollView na visualização dos controladores de navegação. Em seguida, adicione a restrição do pino no scrollview como (0 da parte superior, 0 da esquerda, 0 da direita, 0 da parte inferior). Em seguida, outro Uiview em Scrollview (estrutura mencionada na imagem abaixo). Em seguida, adicione um contra-limite na exibição em scrollView como (Igual largura, Altura igual, Centro verticalmente no recipiente, centro horizontalmente no contêiner) conforme indicado abaixo. Além disso, adicione algumas restrições do pino da parte inferior e direita (200 e 0, respectivamente). Como na imagem ... Em seguida, adicione qualquer coisa que você deseja adicionar e adicione restrição no menu. Clique no seu viewcontroller no main. Storyboard, em seguida, faça um IBOutlet para o seu scrollview em seu viewController. Em seguida, adicione estas linhas à sua viewDidload () como scrollView (No meu caso) Espero que isso funcione para você.

No comments:

Post a Comment