19 Ağustos 2017 Cumartesi

Xamarin iOS Custom Renderer'ımda hiçbir touch event'i çalışmıyor?!?!?!?

protected override void OnElementChanged(ElementChangedEventArgs<ContentView> e)
{
base.OnElementChanged(e);

if (e.OldElement != null)
return;

UserInteractionEnabled = true;
}


Öncelikle OnElementChanged method'unu ezip oldElement null değilse çıkma işlemi yaparak ayarlarımızın sadece bir kez işletilmesini sağlarız. Bu klasik bir yöntemdir. Sonra asıl probleminiz XCode'da yazarken UserInteractionEnabled'ın designer'dan dolayı default olarak Yes gelmesidir. Highlight ettiğim satırı eklersen kodun tıkır tıkır çalışacaktır güzel kardeşim. Tabi bu arada Touch event'lerini aşağıdaki gibi handle etmeyi unutma.

public override void TouchesBegan(Foundation.NSSet touches, UIKit.UIEvent evt)
{
base.TouchesBegan(touches, evt);

...
}

public override void TouchesEnded(Foundation.NSSet touches, UIKit.UIEvent evt)
{
base.TouchesEnded(touches, evt);

...
}

Hiç yorum yok:

Yorum Gönder