2016-04-30 10 views
0

私はUIViewのbuttonViewを持っていて、スーパーのUIViewと同じ高さの制約を0.4の乗数で与えました。フレームは正しく調整されていますが、buttonViewのサブビューは表示されません。しかし、ボタンがあるはずの位置をクリックすると、アクションがトリガーされます。 buttonViews制約を固定高さに変更すると、これは起こりません。 もしあなたが欲しいと思っている人はいますか?AutoLayout Equal Heightsはサブビューを非表示にします

EDIT

That's the custom viewCustom View in simulator

ラベルの下に空白がある二つのボタンがあるはずです。空白をクリックすると、タイマーは動作しますが、ボタンは表示されません。

+1

あなたの拘束と問題の画像を掲載してください –

+0

あなたの問題を正確には得られません。詳細をご記入ください – Lion

+0

検査員側のスナップを提供します。 –

答えて

0

問題は、丸みを帯びたコーナーをフレームの幅の半分に設定したことです。半径は非常に大きくなり、ビューが完全に隠れるようになりました。境界が設定された後、コーナーの半径を変更するように変更しました。混乱して申し訳ありませんが、何か助けてくれてありがとう!

3

私はプロジェクトを見ましたが、私がカップルの場所で見た問題は、自動レイアウトと手動フ​​レーム変換の両方が使用されていることです。これは扱いにくいことがあります。

1)CustomAudioLearnビューは、xibからビューをロードしてサブビューとして追加します。 。ただし、サブビューが常に親ビューのエッジを抱くようにするために、このサブビューに制約を設定しません。したがって、ストーリーボードの自動レイアウトを通じてCustomAudioLearnビューのサイズを変更すると、xibベースのサブビューは常に同じサイズになります。サブビューに制約を追加するか、CustomAudioLearnのlayoutSubviews()を上書きし、そこにself.customView.frame = self.boundsself.customViw.layoutIfNeeded()を含める必要があります。また、私は)ラインself.customView.translatesAutoresizingMaskIntoConstraints = false

2を取り外すことをお勧め同様に、RecordButtonViewawakeFromNib()上の角の半径を設定しませんが、レイアウトが起こるの後、それはもはや、右の半径です。したがって、レイアウトが更新されるたびに半径を調整するには、layoutSubviews()またはそれに類する場所をオーバーライドすることを再度検討する必要があります。

3)最後に、ストーリーボードのRecordButtonViewのスーパービューは、優先度が1000の高さ制約が70に設定されています。RecordButtonViewを使用可能なスペースに拡張するには、その高さの優先度を下げる必要がありますスーパービューの高さを決定する際に、RecrodButtonViewの比例幅と1:1のアスペクト比が優先されるようにします。それ以外の場合は、常に70ポイントになるか、競合する制約があります。