Thanks Adam and Nic, it worked like a charm!
Cheers,
Andre
>________________________________
> From: Adam Kemp <[email protected]>
>To: [email protected]
>Sent: Tuesday, 7 August 2012 1:05 AM
>Subject: Re: [MonoTouch] UITapGestureRecognizer can't get to work
>
>I'm guessing that it's not valid to have a . in a Selector name.
>
>It's easier to use gesture recognizers like this:
>
>var gesture = new UITapGestureRecognizer();
>gesture.AddTarget(() => Recognized(gesture));
>view.AddGetureRecognizer(gesture);
>
>If you use AddTarget then you don't need to use a selector. It just takes
>an Action. You also don't have to set NumberOfTapsRequired if you want the
>default of 1, and you usually don't need a Delegate. The only thing your
>delegate is doing that is non-default is return true for
>ShouldRecognizeSimultaneously. You can also do this more easily:
>
>gesture.ShouldRecognizeSimultaneously = (thisGesture, otherGesture) =>
>true;
>
>All of the delegate methods are exposed as properties on the gesture
>itself. If you assign to one of them then it creates an internal delegate
>object which just forwards to whatever you assigned to the properties.
>That means the properties for those methods are mutually exclusive with
>the delegate property: you can use one or the other but not both. I've
>found that the properties are much easier because they don't require a
>full class.
>
>If that doesn't help then ensure that your view has UserInteractionEnabled
>set to true. I think UIImageViews might default to false.
>--
>Adam Kemp
>[email protected]
>(512) 683-6058
>
>[email protected] wrote on 08/05/2012 09:06:44 PM:
>
>> From: Andre Dobroskok <[email protected]>
>> To: "[email protected]" <[email protected]>
>> Date: 08/05/2012 09:06 PM
>> Subject: [MonoTouch] UITapGestureRecognizer can't get to work
>> Sent by: [email protected]
>>
>> Hi All,
>>
>> I am trying to implement trivial full screen image view in response
>> to user clicking a thumbnail. I have written following controller to
>> show image:
>> public class ImagePreviewController : UIViewController
>> {
>> private UIImage _image;
>> private UIImageView _fullScreenImageView;
>>
>> public ImagePreviewController(UIImage image)
>> {
>> _image = image;
>> _fullScreenImageView = new UIImageView(UIScreen
>> .MainScreen.Bounds);
>> _fullScreenImageView.Image = image;
>> var gestureRecognizer = new UITapGestureRecognizer(this, new
>
>> Selector("ImagePreviewController.HandleTap"));
>> gestureRecognizer.NumberOfTapsRequired = 1;
>> gestureRecognizer.Delegate = new RecognizerDelegate();
>> _fullScreenImageView.AddGestureRecognizer(gestureRecognizer);
>> this.View = _fullScreenImageView;
>>
>> }
>>
>> [Export("ImagePreviewController.HandleTap")]
>> public void Recognized(UITapGestureRecognizer recognizer)
>> {
>> _image = null;
>> this.RemoveFromParentViewController();
>> }
>>
>> }
>>
>> And here is how I call it from parent controller:
>> _fullScreenImageController = new
>> ImagePreviewController(uiImage);
>> this.PresentViewController
>> (_fullScreenImageController, true, null);
>
>>
>> As result I get nice full size image on the screen, however tapping
>> screen has no effect and Recognized method never gets called.
>> Obviously I have done something wrong, but I can't figure out what.
>> Please help.
>>
>> P.S. RecognizerDelegate looks like this:
>> public class RecognizerDelegate : UIGestureRecognizerDelegate
>> {
>> public override bool ShouldReceiveTouch(UIGestureRecognizer
>> recognizer, UITouch touch)
>> {
>> return true;
>> }
>>
>> public override bool ShouldBegin(UIGestureRecognizer recognizer)
>> {
>> return true;
>> }
>>
>> public override bool
>ShouldRecognizeSimultaneously(UIGestureRecognizer
>> gestureRecognizer, UIGestureRecognizer otherGestureRecognizer)
>> {
>> return true;
>> }
>> }
>
>>
>> Cheers,
>> Andre_______________________________________________
>> MonoTouch mailing list
>> [email protected]
>> http://lists.ximian.com/mailman/listinfo/monotouch
>
>_______________________________________________
>MonoTouch mailing list
>[email protected]
>http://lists.ximian.com/mailman/listinfo/monotouch
>
>
>_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch