Push segue está mexendo com restrições
-
21-12-2019 - |
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.
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.
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!!
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.