Pergunta

Eu tenho um push segue saindo da minha casa UIViewController para um UITabBarController.Preciso usar um push segue porque preciso de uma barra de navegação na parte superior e não consigo incorporar um UITabBarController em um controlador de navegação.

Quando eu pré-formo a sequência inicial, ela vai para o UITabBarController e então cria uma pequena margem abaixo da barra de navegação e acima do meu conteúdo.Quando mudo de aba, esse preenchimento é removido, mesmo quando volto para a aba inicial.Então, quando eu uso o botão Voltar do Push Segue, meu controlador de visualização raiz perde algumas restrições:Eu tenho um CollectionView aqui que fica embaixo de alguns botões da página.Description of problem

Costumava haver uma mudança estranha nos botões, e agora eles não se movem porque eu corrigi as restrições.No entanto, as restrições à CollectionView parece bom.

constraints

Quase parece que os itens dentro do CollectionView estão mudando, e não o próprio CollectionView.Isso é possível?Eu poderia consertar isso?

Isso não acontece quando mudo para um Modal segue em vez de um push.Alguma sugestão sobre como posso resolver esse problema estranho?Ou alguém pode sugerir uma boa maneira de fazer com que um Modal siga funcione para meu TabViewController?

Obrigado!!

Foi útil?

Solução

Finalmente resolvi isso modificando a resposta de Lord Zsolt aqui.

- (void)viewDidLayoutSubviews {

if (self.searchBar.frame.origin.y == 20) {
    [self.searchBar setFrame:CGRectMake(0, 0, self.searchBar.frame.size.width, self.searchBar.frame.size.height)];
    [self.ptasksTable setFrame:CGRectMake(0, 44, self.ptasksTable.frame.size.width, self.ptasksTable.frame.size.height+20)];
     }
}

Estou verificando se a origem do primeiro item na minha view é y=20, e em caso afirmativo, definindo a origem y como 0 e aumentando o tamanho do TableView abaixo em 20 para preencher o espaço.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top