2016-10-17 23 views
1

の幅を自動レイアウトすることが可能である私は以下のようにUISlider 2との間にボタンを配置するPureLayoutを使用しています:はそれが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]; 

はそれがUISliderが自動的にleftButtonrightButtonの間の幅を設定することが可能です?

+0

あなたは左と右のボタンによるUISlider幅をdiynamicしたいですか。 –

+0

はい。スライダは、左ボタンから右ボタンに向かって開始します。上記のコードでは正常に動作しますが、NSLayoutConstraintは壊れています。 – chipbk10

+0

なぜ制約を手動で設定しないのですか?あなたの場合に定義するのはとても簡単です。 –

答えて

1

UISliderの幅を自動レイアウトするには、左右のボタンの幅を指定する必要があります。また、スーパービューの端にピンを固定する必要があります。スライダーの左端をleftButtonの右端に、スライダーの右端を右端のLEFT端に固定することができます。

例コード:

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

関連する問題