OLHE, SEM ESPAÇADORES!
Com base nas sugestões na seção de comentários da minha resposta original, especialmente nas sugestões úteis do @ Rivera, simplifiquei minha resposta original.
Estou usando gifs para ilustrar como isso é simples. Espero que você ache os gifs úteis. Caso você tenha um problema com gifs, incluímos a resposta antiga abaixo com capturas de tela simples.
Instruções:
1) Adicione seus botões ou etiquetas. Estou usando 3 botões.
2) Adicione uma restrição de centro x de cada botão à superview:
3) Adicione uma restrição de cada botão à restrição de layout inferior:
4) Ajuste a restrição adicionada no item 3 acima, da seguinte maneira:
a) selecione a restrição,
b) remova a constante (defina como 0),
c) altere o multiplicador da seguinte forma: pegue o número de botões + 1 e, começando pelo topo, defina o multiplicador como buttonCountPlus1: 1 e, em seguida, buttonCountPlus1 : 2 e finalmente buttonCountPlus1: 3 . (Explico de onde obtive essa fórmula na resposta antiga abaixo, se você estiver interessado).
5) Aqui está uma demonstração em execução!
Nota: Se os botões tiverem alturas maiores, será necessário compensar isso no valor constante, pois a restrição está na parte inferior do botão.
Resposta antiga
Apesar do que dizem os documentos da Apple e o excelente livro de Erica Sadun ( Auto Layout Demystified ), é possível espaçar uniformemente as visualizações sem espaçadores. Isso é muito simples de fazer no IB e no código de qualquer número de elementos que você deseja espaçar uniformemente. Tudo o que você precisa é de uma fórmula matemática chamada "fórmula da seção". É mais simples de fazer do que explicar. Eu farei o meu melhor demonstrando isso no IB, mas é tão fácil de fazer no código.
No exemplo em questão, você faria
1) comece definindo cada etiqueta para ter uma restrição central. Isso é muito simples de fazer. Basta controlar o arrasto de cada etiqueta para o fundo.
2) Mantenha pressionada a tecla Shift, pois você também pode adicionar a outra restrição que usaremos, a saber, o "espaço inferior ao guia de layout inferior".
3) Selecione o "guia de layout do espaço inferior à inferior" e "centralize horizontalmente no recipiente". Faça isso para todos os três rótulos.
Basicamente, se pegarmos o rótulo cuja coordenada queremos determinar e dividi-lo pelo número total de rótulos mais 1, então temos um número que podemos adicionar ao IB para obter o local dinâmico. Estou simplificando a fórmula, mas você pode usá-la para definir o espaçamento horizontal ou vertical e horizontal ao mesmo tempo. É super poderoso!
Aqui estão nossos multiplicadores.
Rótulo1 = 1/4 = 0,25,
Etiqueta2 = 2/4 = 0,5,
Rótulo3 = 3/4 = 0,75
(Edit: @Rivera comentou que você pode simplesmente usar as proporções diretamente no campo multiplicador e xCode com as contas!)
4) Então, vamos selecionar Label1 e selecione a restrição inferior. Como isso:
5) Selecione o "Segundo item" no Inspetor de atributos.
6) No menu suspenso, selecione "Reverter primeiro e segundo itens".
7) Zere a constante e o valor wC hAny. (Você pode adicionar um deslocamento aqui, se necessário).
8) Esta é a parte crítica: no campo multiplicador, adicione nosso primeiro multiplicador 0,25.
9) Enquanto estiver nele, defina o "Primeiro item" no topo como "CentroY", pois queremos centralizá-lo no centro y da etiqueta. Aqui está como tudo isso deve parecer.
10) Repita esse processo para cada etiqueta e conecte o multiplicador relevante: 0,5 para Label2 e 0,75 para Label3. Aqui está o produto final em todas as orientações com todos os dispositivos compactos! Super simples. Estive procurando muitas soluções envolvendo resmas de código e espaçadores. Essa é de longe a melhor solução que eu já vi sobre o assunto.
Atualização: @kraftydevil acrescenta que o guia de layout inferior só aparece nos storyboards, não nos xibs. Use 'Bottom Space to Container' no xibs. Boa pegada!