Eu tenho um UIView no meu UIViewController no storyboard que desejo adicionar uma restrição ao espaço que visualiza a uma distância da borda superior.
Agora, quando faço o de costume pressionando ctrl + arrasto para a visualização principal do ViewController, só tenho a opção de configurá-lo como guia de layout superior.
Isso é um problema para mim porque em um ponto do aplicativo irei mover a visualização principal em torno de 20-50px e o que acontece é que a visualização que eu tenho não será movida ... porque não está alinhada com o superview.
Como posso fazer isso manualmente no storyboard ou tenho que adicioná-lo programaticamente?
Estou usando o xcode 6.
ios
storyboard
autolayout
nslayoutconstraint
Arbitur
fonte
fonte
Respostas:
Há uma seta à direita do valor da constante de restrição. Se você clicar nele, um menu aparecerá onde você pode escolher o que deseja relacionar à sua restrição. Se você escolher 'Exibir', será fixado no topo da exibição.
fonte
Você deve ser capaz de fazer isso destacando a visualização desejada no storyboard e, em seguida, selecionando
Editor > Pin > Top Space to Superview
no menu superior.fonte
TL; DR: Você pode restringir à margem pressionando a Alttecla no teclado.
Também se pode acrescentar que, se a visão que você está tentando fixar não for uma subvisualização direta da visão na qual deseja fixá-la, a abordagem sugerida não é realmente válida. Digamos que a hierarquia de visualização seja assim e você deseja fixar a visualização da imagem (
Parallax Image View
neste caso) na visualização do controlador de visualização (View
neste caso).Para fazer isso, basta Control+ Dragdo
Parallax Image View
para oView
. Isso apresenta as opções padrão onde você pode verVertical Spacing to Top Layout Guide
para fixar oParallax Image View
guia de layout superior.O que você deseja é fixá-lo no topo (margem) da visualização. Para fazer isso, você tem que mudar para o outro conjunto de restrições pressionandoAlt
fonte
Eu já tinha um monte de restrições e só queria alterá-las em vez de quebrá-las. Acontece que se você clicar duas vezes na restrição para editar e, em seguida, clicar no item que tem a ".Margem", você pode simplesmente desligar a opção "Relativa à margem" selecionando esse item.
fonte
A resposta de Dan funciona. Eu só queria afirmar que se você definir sua visualização no storyBoard em y <20 e configurar as restrições por meio do painel de pinos, ele será definido como supervisualização:
fonte
Se a altura da visualização for definida como 0 por acidente, o Espaço vertical para guia de layout superior NÃO aparecerá. No entanto, o guia de espaço vertical para layout inferior aparecerá, o que deve ter feito sentido para alguém dentro da Apple por volta de 2004.
fonte
Nenhuma das respostas acima funcionou para mim, em vez disso, tenho que fazer um hack para definir o topo da minha subvisualização com o topo do superview em vez do guia de layout Superior.
Você está pronto para ir agora.
fonte