私はカスタム見栄えのアクションシートを作成しようとしています。私は、最も簡単な方法は、サブビューとしてビューを作成し、サブビューのトップの制約をスーパービューのボトムに割り当てることだと思いました。同時に、ある不透明度のカバービューを割り当てます。したがって、私はサブビューの異なるバージョンを持つことができ、私は必要なものを初期化してスライドすることができます。Sliding-In UIViewボトムより
私はthis obj-c answerを使用して、私はスウィフトに変換しようとした、スウィフトのために有益な何かを見つける、そうことができませんでした。私はこれで不透明な背景を達成しましたが、翻訳の制約はうまくいかないようです。
var coverView = UIView()
override func viewDidLoad() {
super.viewDidLoad()
coverView.backgroundColor = UIColor(white: 0.0, alpha: 0.4)
coverView.alpha = 1.0
self.view.addSubview(coverView)
self.view.bringSubviewToFront(coverView)
}
//doesn't work
self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[coverView]|", options: kNilOptions, metrics: nil, views: NSDictionaryOfVariableBindings(coverView)))
self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[coverView]|", options: kNilOptions, metrics: nil, views: NSDictionaryOfVariableBindings(coverView)))
私は、ビューのインスタンス化とトランジションアニメーションの適用について混乱しました。 ViewControllerの下にUIViewを作成することを選択した場合、サブビューのequal width
をスーパービューに調整するように制約を調整することはできません。
どのように私は私が(ストーリーボードで)サブビューとして作成し、UIはバグないように、その幅の制約を調整するUIViewを使用することができますか?また、どのようにしてトランジションアニメーションを適用して自然な感じにすることができますか?
これは数年前に書いたものです。 https://github.com/MosheBerman/MBMenuController – Moshe
@EICaptainあなたの例では、私の代わりに私が(下の下)スーパービューの下に形成されたにそれをしたい、それが私のスーパーのUIView上に表示させたくない、しかし、理にかなっていると、次にそれをスライドさせます。どのように制約を使用できますか?私はスーパービューの高さを取得し、UIViewの起点yを配置しようとする必要がありますか?もしあなたが時間があれば、私はあなたからの答えを聞いてくれたことに感謝します。 – senty
@Mosheあなたのアクションコントローラーはありますか?私は代わりにカスタムビューを持たないでしょう – senty