2017-08-08 14 views
1

タブを切り替えるためにスワイプジェスチャーを実行しようとしています。私はジェスチャーが画面上で働くことを望みます。私はイオンスワイプジェスチャーが電話で機能しない

<ion-content (swipe)="swipeEvent($event)"> 

にスワイプの動きをキャッチし、swipeEvent目的球は

swipeEvent(e) { 
    if(e.direction == '2'){ 
    this.navCtrl.parent.select(2); 
    } 
    else if(e.direction == '4'){ 
    this.navCtrl.parent.select(0); 
    } 
} 

それがブラウザで正常に動作しています。しかし、私が電話でそれを構築するとき、ジェスチャーは効果がありません。 代替ソリューションはありますか?

答えて

1

だけで100%の高さと幅とのdivを追加することによって、それを解決しました。

<ion-content padding> 
    <div (swipe)="swipeEvent($event)" style="position: absolute;top:0;left:0;height:100%;width:100%;"> 
    <ion-item> 

    </ion-item> 
    </div> 
</ion-content> 
+0

**私とあなたのもので提案された解決方法は**違いはありません。同じことをやっただけです。あなたは 'イオン内容 'から'(スワイプ) 'を取り除き、それを内側の' div '違いはありません。 – Sampath

2

これは、Ionicチームメンバーからの解決策です:See this tooです。

メインコンテンツでスワイプジェスチャーを使用することは実際にはおすすめできません。 イオン含有量はジェスチャーのための入力であるため(スクロールなど) スワイプしていると、混乱の原因となります。代わりに、子要素に イベントハンドラを配置すると正常に動作します。

<ion-content padding> 
    <ion-card (swipe)="swipeEvent($event)"> 
    <ion-item> 

    </ion-item> 
    </ion-card> 
</ion-content> 
+1

ですが、画面全体にジェスチャーが必要です。 – tontus

+1

これは仕様です。申し訳ありません。 – Sampath

+0

これを試してみてください。スワイプの左のイベントをキャッチしてくれることを願っています。 " ' – Sampath

関連する問題