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

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

ただいまの
回答率

91.01%

  • Swift

    6087questions

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

  • Xcode

    3507questions

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

  • iPhone

    866questions

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

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

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 154

sata

score 1

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

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

上のビューを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に戻してやるのがポイントです。

class ViewController: UIViewController {
    @IBOutlet weak var vSplitterTopConstraint: NSLayoutConstraint!

    @IBAction func onPanGestureAction(_ gr: UIPanGestureRecognizer)
    {
        let move = gr.translation(in: self.view)

        vSplitterTopConstraint.constant += move.y
        gr.setTranslation(CGPoint.zero, in: self.view)
    }
}

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/11 09:09

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

    キャンセル

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

  • ただいまの回答率 91.01%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    XcodeでSwiftのAlamofire-SwiftyJSONライブラリが読み込めない

    Xcode6.3でSwiftのAlamofire-SwiftyJSONライブラリを追加しようとしているのですが、Build Phasesの設定でうまくいきません。 導入は下記サイ

  • 解決済

    [swift] SDWebImageライブラリでのエラー

    xcode6.3(swift1.2)でSDWebImageライブラリを使おうとすると下記エラーが出ます。「はじめてのiOSアプリ開発 swift対応版」という参考書のコードままです

  • 解決済

    swift buttonの動作

    swiftに関する質問です。 ボタンを2つ用意して、それぞれに異なる動作をするようにしています。 1.button1 ボタンを押すと背景の色が緑色になる。 ボタンを押すとタイ

  • 受付中

    git submodule update → fatal: reference is not a t...

    環境はxcode7 Macです。 xcodeの環境構築でAlamofire-SwiftyJSONのライブラリーをインストールしました。 しかし、git submodule upda

  • 解決済

    下にスクロールする時Labelを下に移動させたい。

    下にスクロールをした時にlabelが下または上に隠れる 通常の画面 このアプリでは、上にスクロールをすると、上部にある『ホーム』Labelが上に上がります。 また

  • 受付中

    [Swift]画面遷移と同時にNavigationBarのtitleを変更したい

    ご覧いただき、有難うございます。 DropDownMenuのライブラリを使用しているのですが、 メニューの「Month」セルをタップすると、画面遷移と同時にナビゲーションバータ

  • 解決済

    cocoapodsで.xcworkspace

    Xcodeのプロジェクトにcocoapodsでライブラリをインストールするとtest.xcodeprojとtest.xcworkspaceという2つのファイルができました。 どちら

  • 解決済

    iPhoneでデータをグリッド表示したいです

    swiftを新しく触り、iOSアプリ開発を始めた初心者です。 相談にのっていただけますと幸いです。 サーバに接続をし、Javaプログラムより配列を取得しているのですが、 その配

同じタグがついた質問を見る

  • Swift

    6087questions

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

  • Xcode

    3507questions

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

  • iPhone

    866questions

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