Como posso usar o Autolayout para definir restrições no meu UIScrollview?

Eu passei dois dias experimentando as várias soluções paraAbordagens de autolayout mistas e puras para conseguir o que era uma configuração de scrollview trivial antes do autolayout, e agora é oficial - eu devo ser muito estúpido. Eu estou configurando isso principalmente no Storyboard (bem, é apenas o jeito que é).

Então aqui está meu pedido de ajuda.

Viewtree:

UIView
-UIView
-UIView
..-UIScrollview
...-UIButton
...-UIButton
...-UIButton

Os botões devem rolar horizontalmente (da esquerda para a direita e vice-versa). Alguem podepor favor deixe-me saber como definir as restrições para conseguir isso usando o Autolayout puro ???

-

Eu tentei a abordagem mista, assim:

UIView
- UIView
- UIView
..-UIScrollview
...-UIView (contentview)
....-UIButton
....-UIButton
....-UIButton

... e definindo restrições de largura e altura fixas para ocontentview e atranslatesAutoresizingMaskIntoConstraints configurações como por TechNote da Apple. Os botões e scrollview são configurados usando restrições. Isto obtém a rolagem da rolagem (yay) mas, infelizmente, ela rola muito! Tanto quanto eu posso dizer, a largura de rolagem é de alguma forma duplicada do que eu definir o contentview em ???

Eu tentei a abordagem puramente autolayout também, ambos comcontentview e sem.Todos as vistas sãotranslatesAutoresizingMaskIntoConstraints=NO, exceto porself.view. Os botões têm restrições de largura / altura fixas e são fixados em todas as quatro arestas da vista de rolagem. Nada rola.

Então eu estou totalmente perplexo porque eu não consigo fazer isso funcionar corretamente. Qualquer ajuda é muito apreciada, e se você precisar de qualquer outra informação, por favor, pergunte!

Screenshot ATUALIZADO com solução - restrições buttonZ:

EDITAR @ Jamie Forrest Então a solução acaba sendo a restrição errada no último botão. Em vez de 6441, o valor que eu havia definido era negativo, -6441. O mais complicado é que, ao definir o valor no storyboard, há duas opções na barra de ferramentas Pin:

O Valor do Canvas Atual é negativo (levando a nenhum deslocamento) e a opção abaixo é positiva (rolagem de ativação). Isso significa que eu não sou burro, mas pelo menos meio cego, eu acho.Embora, em minha defesa, não seja um pouco preocupante que o XCode não mostre um erro para a configuração "incorreta"?

EDITADO NOVAMENTE Agora isso é engraçado ... alterar o valor à direita de -6441 (sem rolagem) para 6441 ativado. Mas meu velho amigo "muito conteúdo" estava de volta, levando a um tamanho de conteúdo duas vezes maior do que deveria ser! A solução para obter a rolagem de conteúdo correta foi definir a restrição à direita como ZERO! Isso não é óbvio quando se trabalha no Storyboard, mas olhando para o código do @Infinity James, é como deveria ser.

questionAnswers(18)

yourAnswerToTheQuestion