Xamarin.iOSのUIView派生クラスでGestureRecognizerが動かないとき
2020年12月25日 (金) 03:06時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「UIViewのUserInteractionEnabledプロパティをtrueにするとGestureRecognizerが動き出す。 <source lang="csharp"> class CustomView : UIView { // GestureRec…」)
UIViewのUserInteractionEnabledプロパティをtrueにするとGestureRecognizerが動き出す。
class CustomView : UIView
{
// GestureRecognizerはフィールド変数にしておいてUIView破棄時に
// 明示的にDisposeしないとメモリリークする模様。
UITapGestureRecognizer doubleTapGesture;
void Setup()
{
// GestureRecognizerを生成
doubleTapGesture = new UITapGestureRecognizer( () => {
Console.WriteLine("double tap");
});
// GestureRecognizerをダブルタップに設定
doubleTapGesture.NumberOfTapsRequired = 2;
// UIViewにGestureRecognizerを追加
this.AddGestureRecognizer(doubleTapGesture);
// これ重要
// UIViewでGestureRecognizerを有効にする
this.UserInteractionEnabled = true;
}
}