Flutter iOS Embedder
FlutterTouchInterceptingView Class Reference

#import <FlutterPlatformViews_Internal.h>

Inheritance diagram for FlutterTouchInterceptingView:

Instance Methods

(instancetype) - initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:
 
(void) - releaseGesture
 
(void) - blockGesture
 
(UIView *) - embeddedView
 
(id) - accessibilityContainer
 

Properties

id flutterAccessibilityContainer
 

Detailed Description

Definition at line 990 of file FlutterPlatformViews.mm.

Method Documentation

◆ accessibilityContainer

- (id) accessibilityContainer

Provided by category FlutterTouchInterceptingView(Tests).

◆ blockGesture

- (void) blockGesture

Definition at line 1024 of file FlutterPlatformViews.mm.

1024  {
1025  switch (_blockingPolicy) {
1027  // We block all other gesture recognizers immediately in this policy.
1028  self.delayingRecognizer.state = UIGestureRecognizerStateEnded;
1029  break;
1031  if (self.delayingRecognizer.touchedEndedWithoutBlocking) {
1032  // If touchesEnded of the `DelayingGesureRecognizer` has been already invoked,
1033  // we want to set the state of the `DelayingGesureRecognizer` to
1034  // `UIGestureRecognizerStateEnded` as soon as possible.
1035  self.delayingRecognizer.state = UIGestureRecognizerStateEnded;
1036  } else {
1037  // If touchesEnded of the `DelayingGesureRecognizer` has not been invoked,
1038  // We will set a flag to notify the `DelayingGesureRecognizer` to set the state to
1039  // `UIGestureRecognizerStateEnded` when touchesEnded is called.
1040  self.delayingRecognizer.shouldEndInNextTouchesEnded = YES;
1041  }
1042  break;
1043  default:
1044  break;
1045  }
1046 }

References FlutterPlatformViewGestureRecognizersBlockingPolicyEager, and FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded.

◆ embeddedView

◆ initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:

- (instancetype) initWithEmbeddedView: (UIView*)  embeddedView
platformViewsController: (fml::WeakPtr<flutter::FlutterPlatformViewsController>)  platformViewsController
gestureRecognizersBlockingPolicy: (FlutterPlatformViewGestureRecognizersBlockingPolicy blockingPolicy 

Definition at line 991 of file FlutterPlatformViews.mm.

991  :(UIView*)embeddedView
992  platformViewsController:
993  (fml::WeakPtr<flutter::FlutterPlatformViewsController>)platformViewsController
994  gestureRecognizersBlockingPolicy:
996  self = [super initWithFrame:embeddedView.frame];
997  if (self) {
998  self.multipleTouchEnabled = YES;
999  _embeddedView = embeddedView;
1000  embeddedView.autoresizingMask =
1001  (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
1002 
1003  [self addSubview:embeddedView];
1004 
1005  ForwardingGestureRecognizer* forwardingRecognizer =
1006  [[ForwardingGestureRecognizer alloc] initWithTarget:self
1007  platformViewsController:platformViewsController];
1008 
1009  _delayingRecognizer = [[DelayingGestureRecognizer alloc] initWithTarget:self
1010  action:nil
1011  forwardingRecognizer:forwardingRecognizer];
1012  _blockingPolicy = blockingPolicy;
1013 
1014  [self addGestureRecognizer:_delayingRecognizer];
1015  [self addGestureRecognizer:forwardingRecognizer];
1016  }
1017  return self;
1018 }

References embeddedView, and DelayingGestureRecognizer::forwardingRecognizer.

◆ releaseGesture

- (void) releaseGesture

Definition at line 1020 of file FlutterPlatformViews.mm.

1020  {
1021  self.delayingRecognizer.state = UIGestureRecognizerStateFailed;
1022 }

Property Documentation

◆ flutterAccessibilityContainer

- (id) flutterAccessibilityContainer
readwritenonatomicretain

Definition at line 450 of file FlutterPlatformViews_Internal.h.


The documentation for this class was generated from the following files:
FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
@ FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
Definition: FlutterPlugin.h:269
ForwardingGestureRecognizer
Definition: FlutterPlatformViews.mm:978
FlutterPlatformViewGestureRecognizersBlockingPolicyEager
@ FlutterPlatformViewGestureRecognizersBlockingPolicyEager
Definition: FlutterPlugin.h:261
FlutterPlatformViewGestureRecognizersBlockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy
Definition: FlutterPlugin.h:252
DelayingGestureRecognizer
Definition: FlutterPlatformViews.mm:951
-[FlutterTouchInterceptingView embeddedView]
UIView * embeddedView()