1

UIPageViewControllerGestureRecognizersでカバーされる領域内に、いくつかのボタンがViewController上に配置されています。この領域のタップはUIPageViewControllerによって消費され、下のボタンには到達しません。UIPageViewController内のコントロールのタッチイベントをモノタッチで検出する

私はiPad - PageViewController - Show next view controller on button clickUIPageViewController Gesture recognizersを読み、原則を理解していますが、以前のObj-Cの経験はなく、C#でこれらのソリューションを再作成しようとしています。

誰かがMonoTouchでこれがどのように行われたかの例を教えてください。

答えて

2

最初のリンクがMonoTouchを使用してC#に変換される方法は次のとおりです(注:未試行)。タッチジェスチャが(ボタン含む)UIControlには適用されない場合は、それがtrueを返します

class MyUIGestureRecognizerDelegate : UIGestureRecognizerDelegate { 

    public override bool ShouldReceiveTouch (UIGestureRecognizer recognizer, UITouch touch) 
    { 
     return (!(touch.View is UIControl)); 
    } 
} 

まずあなたは、このようなUIGestureRecognizerための独自の(非.NET)デリゲートを作成します。

次に、あなたのUIPageViewControllerに割り当てられているGestureRecognizersにこのデリゲートを割り当てる必要があります。

MyUIGestureRecognizerDelegate del = new MyUIGestureRecognizerDelegate(); 

UIPageViewController pvc = new UIPageViewController(); 

foreach (var gr in pvc.GestureRecognizers) 
    gr.Delegate = del; 

これにより、ジェスチャの解釈方法を調整できます。ジェスチャー自体で処理されない場合は、自分のコントロール/ボタンにルーティングする必要があります。

+0

スポットで、poupou、ありがとう。高級な返品陳述のために+1。 – PoxBlossom

関連する問題