問題
PageView上にMenuを表示しておくと
PageViewのスワイプ時にMenuに触るとpageの移動ができない。
挙動をみると、Memuは正常に動作しているが
PageViewは一切動作していないため
「タッチイベント」がPageViewまで透過していない。
解決
ネットで検索した結果以下のサイト様のソースでほとんど解決しました。
Scroll ViewでMenuを動かす
PageViewの方がScroll Viewより簡単なようで
上記サイト様のScrollMenuを追加し
そこに、
1 2 |
//「ScrollMenu.h」には以下を追加 void onTouchMoved(Touch* touch, Event* event) override; |
1 2 3 4 5 |
//「ScrollMenu.cpp」には以下を追加 void ScrollMenu::onTouchMoved(cocos2d::Touch* touch, cocos2d::Event* event) { this->_inMoving = true; } |
なにをしているのかというと
「Menuに触れて少しでもスワイプしたらMenuのイベントはキャンセルするよ」
の「少しでもスワイプしたら」をこのクラスに追加しました。
こんな感じでなんとか動作しています。