Patrick Gainher • 29 out 2019 • Apple iOS SWIFT (iPhone, iPad e iPod Touch)
Neste artigo, aprenderemos mais o sobre componentes do Xcode, aqui falando sobre o Interface Builder.
No artigo passado, comentamos a respeito de padrões de modelagem, com MVC, MVP e MVVM. Agora, veremos sobre o Interface Builder.
O Xcode possui uma ferramenta dentro de seu programa, chamada de Interface Builder. Dos assuntos que vimos em artigos anteriores, você pode ter o identificado como sendo a View, fazendo um design se tornar uma tarefa facilitada sem a necessidade de escrever código. O programador pode arrastar e soltar janelas, botões, campos de texto e outros objetos dentro da tela de design com o intuito de criar uma interface de usuário funcional.
Graças à modelagem padrão MVC, se torna mais fácil desenhar de forma independente as interfaces, assim separando de suas implementações. Interfaces de usuário são arquivadas como objetos Cocoa ou Cocoa Touch (extensão .nib), e o macOS e iOS irão criar uma conexão dinâmica entre a UI e o código quando o aplicativo for executado.
Storyboards: As storyboards são as relações das Views em que o usuário navega pelo Xcode, mostrando uma visão completa do fluxo dos arquivos. O designer de storyboard do Interface Builder faz com que seja fácil criar e desenhar novas Views, e ligá-las juntas para criar uma interface pronta para o código feito sob padrão.
O Xcode inclui controladores de storyboard para:
Table View Controller;
Collection View Controller;
Navigation Controller;
Tab Bar Controller;
Page View Controller;
GLKit View Controller;
Construir o seu próprio controlador;
Assistente;
Ao abrir o Assistant enquanto estiver editando seu Storyboard ou arquivo de extensão .xib, é possível conectar de forma rápida os controles UI ao código que implementa seu comportamento. Se você não possui um código escrito ainda, o Xcode irá oferecer ao criar um esboço para a ação (método de lançamento, chamada de action) ou saída (uma variável que possui dados, chamada de outlet) que irá providenciar a lógica para sua interface.
Auto Layout: Tanto o iOS quanto o macOS incluem um sistema de layout poderoso chamado de Auto Layout, com grande suporte ao Interface Builder. O Auto Layout é baseado na ideia que cada objeto em sua interface pode definir uma restrição (constraint) para controlar como reage à uma View mãe e outros controles de interface. Por exemplo, é possível priorizar quando um botão permanece em um tamanho específico ou expande para acomodar um texto maior quando mostrando uma linguagem diferente.
O Interface Builder pode criar de forma automática todos os constraints ao programador, garantindo assim um conjunto de regras compatíveis. O programador também pode tomar controle direto das constraints para definir a prioridade exata de cada uma delas, conforme vimos no Artigo de Constraints, onde o programador tem um controle mais amplo de seu aplicativo.
Preview: O modo prévia é utilizado para ver de forma rápida a interface em uma variedade de situações sem ter que executar o aplicativo, assim aumentando drasticamente a velocidade do processo iterativo de design. É possível:
ver o aplicativo em formato retrato ou paisagem;
ver o aplicativo em uma versão mais antiga do iOS;
em formatos diferentes de telas;
muito mais;
Uma nota importante do Interface Builder: Cada atributo no Interface Builder representa uma propriedade que pode ser configurada programaticamente, em código. O Interface Builder, assim, é apenas uma interface gráfica para configurar e definir propriedades nas classes do UIKit que estão exibidas no aplicativo.
É interessante inserir um rótulo na cena, e em seguida olhar ao inspetor de Atributos para o rótulo. Em seguida, é importante olhar aos símbolos, propriedades e funções, para a UILabel dentro do Documentation Browser. É importante encontrar cada definição no Interface Builder possui uma propriedade equivalente:
Atributo do Interface Builder |
Nome da Propriedade |
Text |
text |
Color |
textColor |
Font |
font |
Alignment |
textAlignment |
Lines |
numberOfLines |
Enabled |
enabled |
Highlighted |
isHighlighted |
Baseline |
baselineAdjustment |
Line Break |
lineBreakMode |
Autoshrink |
adjustsFontSizeToFitWidth |
Tighten Letter Spacing |
allowsDefaultTighteningForTrun |
Highlighted |
highlightedTextColor |
Shadow |
shadowColor |
Shadow Offset |
shadowOffset |
Navegando por dentro da ferramenta, você encontra visuais de dados na forma de gráficos distributivos (de pizza, colunas), gráficos de histórico de vendas (em linhas), imagem de produto de acordo com a seleção, botões de prototipação de páginas, ícones, tela de fundo personalizada... tudo gerado e publicado por meio de um único link facilmente compartilhável para os demais funcionários e parceiros de seu negócio interessados em analisar dados de vendas e operações em geral.
Explore os recursos de Microsoft® Power BI e venha fazer um curso na ENG para se aprimorar nesta robusta ferramenta.