2017-12-17 4 views
0

私の目的は、ボタンを1回クリックすると、右下のポップアップビューを作成することです、これは概念です。メインのボタンには2つのボタンがあり、クリックすると、現在のコンテキストに対して2番目のUIViewControllerをモーダルにプッシュします。ストーリーボードでオーバーレイビューを正しく作成する方法は?私は、ストーリーボードは、2つの異なるのUIViewControllerを使用することです準備</p> <p><a href="https://i.stack.imgur.com/oirNv.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/oirNv.png" alt="enter image description here"></a></p> <p>方法:

enter image description here

私の質問は:何が右のボタンの下に「タップ」の画像を移動するために制約を作成するために、適切な方法が最適ですか?ボタンがクリックされた

答えて

0

はそれの下の位置(フレーム+高さは、それのy)を取得し、ポップアップに送信し、その後、

viewDidLayoutSubview にポップアップでImageViewののトップ制約として、それらを設定します
0

ボタンとviewの位置と大きさを使用して、オーバーレイの位置を計算できます。たとえば、オーバーレイのyは、ボタンのframe.maxY + constantです。

let x = ... 
let y = ... 
let width = ... 
let height = ... 
let overlay = UIView(frame: CGRect(x: x, y: y, width: width, height: height)) 
view.addSubView(overlay) 

半透明の黒図でVCのviewと同じフレームでUIViewとして添加し、常にVCのviewのフレームと同じになるように制約することができます。 overlayを追加する前に、まずこのビューを追加してください。

0

私がこれを行う方法は、あなたの最初のストーリーボードvcにchildcontrollerを追加することです。次に、ストーリーボードのコンテナビューのフレームを調整します。プログラムでフレームを調整するよりも簡単です。

次にXcodeのがあなたのために作成したVCの上にクラスを変更してください。 enter image description here

関連する問題

 関連する問題