Função facilitadora para tela de todos os tamanhos
No momento estou trabalhando em um projeto onde o autoLayout
não está sendo usado por razões de compatibilidade de versões iOS mais antigas, e isto não facilita a criação de layout. Mas claro, nem tudo é um pesadelo quando o StackOverflow te abraça. Ao procurar por uma opção factível de scrollView me deparei com este post que adiantou meu trabaho em grande parte. A sacada desta resposta é a seguinte: Fazer um loop em todos os subviews
do seu scrollView
e montar um CGRect
(CGRect vem de CGRectangle) com a altura apropriada do scroll para o seu contentSize
caber todos os itens da tela sem advinhações. Com isto, pegamos o tamanho da NavigationBar
e TabBar
(Não é necessário, mas caso a sua UIView esteja calculada para encher a tela, o scroll vai calcular a área inteira e ignorar a nav/tab
) para saber se é necessário dar o scroll.
Agora, suponha que você tenha na sua interface
referente à esta implementation
, uma variável chamado scrollView
referenciando o scroll da sua página. De início, ela não terá seu contentSize
montado, então o valor é tomado a partir dos subviews
. Logo em seguida, caso o tamanho do scroll menos a área da nav/tab
da tela seja maior que o conteúdo exibido, é necessário que o scroll aconteca. Caso contrário, a tela poderá se manter estática para um user experience um pouco mais adequado.
_scrollView e self.scrollView referenciam o mesmo objeto de instância
É só isso que temos sobre o scrollView hoje. Uma pequena ajuda não faz mal. Um abraço!