質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

1回答

1669閲覧

swift xcodeのユーティリティエリアのような UIを再現したい

sata

総合スコア7

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2017/11/10 09:05

編集2017/11/10 10:34

私はプログラミング初心者でswift勉強中のものです。
ネットで調べてもそれらしき情報にたどり着けなかったので質問させて頂きます。

xcodeのユーティリティエリアはインスペクターとライブラリで上下に分かれていて、真ん中のバーでインスペクターとライブラリの大きさを自由に調節できると思います。
それと同じようにiphone上でも画面を上と下の二つに分け、真ん中のバーで大きさを自由に調節できるようなUIを作りたいのですが作り方がわかりません。

ご存じの方がいらっしゃいましたらアドバイスよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

上のビューをTopView, 下のビューとBottomView, スプリッターとなるビューとVSplitterとします。

イメージ説明

・TopViewのBottom、BotttomViewのTopをVSplitterにくっつけておきます。
(それ以外の辺は適当にSuperviewにくっつけておきます)
・VSpliterは高さを適当に設定してTopをSuperviewからのオフセットにしておきます。
⇨このTop位置のConstraintをソースに接続しておきます(vSplitterTopConstraint)
・VSpliterにPanGestureRecognizerを追加してSent Actionsをソースに接続しておきます(onPanGestureAction)

あとは以下のような感じでPan Gestureでの移動量をConstraintに足していくとドラッグできます。
毎回setTranslationで移動量を0に戻してやるのがポイントです。

Swift

1class ViewController: UIViewController { 2 @IBOutlet weak var vSplitterTopConstraint: NSLayoutConstraint! 3 4 @IBAction func onPanGestureAction(_ gr: UIPanGestureRecognizer) 5 { 6 let move = gr.translation(in: self.view) 7 8 vSplitterTopConstraint.constant += move.y 9 gr.setTranslation(CGPoint.zero, in: self.view) 10 } 11}

このままだとサイズがマイナスになったらクラッシュするのでその辺は最大最小値を決めるなりしてください。

投稿2017/11/10 15:49

toki_td

総合スコア2850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sata

2017/11/11 00:09

素早い回答ありがとうございます。 これから挑戦してみようと思います。 本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問