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

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

新規登録して質問してみよう
ただいま回答率
85.49%
iOS 9

iOS 9は、アップル社のモバイルOSであるiOSシリーズのバージョン。特徴として検索機能の強化、Siriの機能改良、iPad向けマルチタスクなどがあります。マルチウィンドウ機能をサポートし、iPad向けマルチタスクもサポートされています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

1回答

2172閲覧

RootのUIViewController外に設置したUIViewのタップ判定について

KUMAR

総合スコア31

iOS 9

iOS 9は、アップル社のモバイルOSであるiOSシリーズのバージョン。特徴として検索機能の強化、Siriの機能改良、iPad向けマルチタスクなどがあります。マルチウィンドウ機能をサポートし、iPad向けマルチタスクもサポートされています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

1クリップ

投稿2015/12/04 03:15

現在、UINavigationBarも含めて右にずれるドロワーメニューを実装中です。

RootにあるUINavigationController.viewのframeを右にずらし、そのframeの左側にメニュー用のUIView(MenuViewとします)をUINavigationController.viewのsubViewとして配置するよう実装したところ、見かけ上はメニューが左からせり出しました。

しかし、その状態でMenuView上でタップイベントをハンドルしようとしたところイベントが発生しません。

UINavigationController.viewと重なるようにMenuViewを配置したところ、重なっている部分のみMenuView上のタップイベントが発生し、左側のはみ出した部分のイベントが発生しないようです。

RootのUIViewController外に設置したUIViewのタップをハンドルすることは出来るのでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

以前同じ様なことを考えて作った簡単なサンプルがあるのでこちらのサンプルをダウンロードして見てみてください。
ただしObjective-CなのとiPad用に作ってあるのであくまでも参考程度に、、、

メニューサンプル

実装的にはサイドのメニューをUIWindowに乗せてNavigationControllerと一緒にアニメーションで動かすということをしています。

Viewの階層を表示できるDebug View Hierarchyで確認するとどうなっているか分かりやすいと思います。

Xcode 6 の Debug View Hierarchy が便利

イメージ説明

投稿2015/12/04 12:15

_Kentarou

総合スコア8490

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

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

KUMAR

2015/12/06 01:30

ありがとうございます!こちらの方法で解決しました! UIWindowにaddSubviewしたらタップイベントが取得出来ました! 助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問