2016-10-17 2 views
1

J'utilise PureLayout pour mettre un UISlider entre 2 boutons comme ci-dessous:est-il possible de autoLayout la largeur de la UISlider

 
[self.slider autoPinEdge:ALEdgeLeading toEdge:ALEdgeTrailing ofView:self.leftButton withOffset:10.0f]; 
[self.slider autoPinEdge:ALEdgeTrailing toEdge:ALEdgeLeading ofView:self.rightButton withOffset:10.0f]; 
[self.slider autoAlignAxisToSuperviewAxis:ALAxisHorizontal]; 

Est-il possible que le UISlider règle automatiquement sa largeur entre le leftButton et la rightButton ?

+0

sont vous voulez UISlider Largeur Diynamic Selon le bouton gauche et à droite? –

+0

oui. Le curseur commence du bouton gauche au bouton droit. Avec le code ci-dessus, cela fonctionne bien, mais NSLayoutConstraint est cassé. – chipbk10

+0

pourquoi vous ne définissez pas les contraintes manuellement? C'est très facile à définir dans votre cas. –

Répondre

1

Pour définir automatiquement la largeur de UISlider, vous devez indiquer la largeur des boutons gauche et droit. En outre, vous devez les épingler aux bords supérieurs. Ensuite, vous êtes en mesure d'épingler le bord gauche du curseur sur le bord DROIT de leftButton, et le bord DROIT du curseur sur le bord gauche du rightButton.

code Exemple:

cell.contentView.addSubview(leftButton) 
cell.contentView.addSubview(slider) 
cell.contentView.addSubview(rightButton) 

rightButton.autoPinEdgeToSuperviewEdge(.Top) 
rightButton.autoPinEdgeToSuperviewEdge(.Right) 
rightButton.autoSetDimension(.Width, toSize: 100) 
rightButton.autoSetDimension(.Height, toSize: 50) 

leftButton.autoPinEdgeToSuperviewEdge(.Top) 
leftButton.autoPinEdgeToSuperviewEdge(.Left) 
leftButton.autoSetDimension(.Width, toSize: 100) 
leftButton.autoSetDimension(.Height, toSize: 50) 

slider.autoPinEdge(.Leading, toEdge: .Trailing, ofView: leftButton, withOffset : 5) 
slider.autoPinEdge(.Trailing, toEdge: .Leading, ofView: rightButton, withOffset : -5) 
slider.autoPinEdgeToSuperviewEdge(.Top) 

enter image description here