| Flutter iOS Embedder |

Instance Methods | List of all members
FlutterTouchInterceptingView Class Reference

`#import <FlutterPlatformViews_Internal.h>`

Inheritance diagram for FlutterTouchInterceptingView:

## Instance Methods
(instancetype) | - initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:
(void) | - releaseGesture
(void) | - blockGesture
(UIView *) | - embeddedView
(void) | - setFlutterAccessibilityContainer:
(id) | - accessibilityContainer

## Detailed Description

Definition at line 988 of file FlutterPlatformViews.mm.

## Method Documentation

## ◆ accessibilityContainer

- (id) accessibilityContainer |  |  |

Provided by category FlutterTouchInterceptingView(Tests).

## ◆ blockGesture

- (void) blockGesture |  |  |

Definition at line 1035 of file FlutterPlatformViews.mm.

1035 {
1036 switch (_blockingPolicy) {
1037 case FlutterPlatformViewGestureRecognizersBlockingPolicyEager:
1038 // We block all other gesture recognizers immediately in this policy.
1039 _delayingRecognizer.get().state = UIGestureRecognizerStateEnded;
1040 break;
1041 case FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded:
1042 if (_delayingRecognizer.get().touchedEndedWithoutBlocking) {
1043 // If touchesEnded of the `DelayingGesureRecognizer` has been already invoked,
1044 // we want to set the state of the `DelayingGesureRecognizer` to
1045 // `UIGestureRecognizerStateEnded` as soon as possible.
1046 _delayingRecognizer.get().state = UIGestureRecognizerStateEnded;
1047 } else {
1048 // If touchesEnded of the `DelayingGesureRecognizer` has not been invoked,
1049 // We will set a flag to notify the `DelayingGesureRecognizer` to set the state to
1050 // `UIGestureRecognizerStateEnded` when touchesEnded is called.
1051 _delayingRecognizer.get().shouldEndInNextTouchesEnded = YES;
1052 }
1053 break;
1054 default:
1055 break;
1056 }
1057 }

References _blockingPolicy, FlutterPlatformViewGestureRecognizersBlockingPolicyEager, and FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded.

## ◆ embeddedView

- (UIView *) embeddedView |  |  |

Definition at line 1027 of file FlutterPlatformViews.mm.

1027 {
1028 return [[_embeddedView retain] autorelease];
1029 }

Referenced by flutter::FlutterPlatformViewsController::GetPlatformViewByID.

## ◆ initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:

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

Definition at line 997 of file FlutterPlatformViews.mm.

997 :(UIView*)embeddedView
998 platformViewsController:
999 (fml::WeakPtr<flutter::FlutterPlatformViewsController>)platformViewsController
1000 gestureRecognizersBlockingPolicy:
1001 (FlutterPlatformViewGestureRecognizersBlockingPolicy)blockingPolicy {
1002 self = [super initWithFrame:embeddedView.frame];
1003 if (self) {
1004 self.multipleTouchEnabled = YES;
1005 _embeddedView = embeddedView;
1006 embeddedView.autoresizingMask =
1007 (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
1008
1009 [self addSubview:embeddedView];
1010
1011 ForwardingGestureRecognizer* forwardingRecognizer = [[[ForwardingGestureRecognizer alloc]
1012 initWithTarget:self
1013 platformViewsController:std::move(platformViewsController)] autorelease];
1014
1015 _delayingRecognizer.reset([[DelayingGestureRecognizer alloc]
1016 initWithTarget:self
1017 action:nil
1018 forwardingRecognizer:forwardingRecognizer]);
1019 _blockingPolicy = blockingPolicy;
1020
1021 [self addGestureRecognizer:_delayingRecognizer.get()];
1022 [self addGestureRecognizer:forwardingRecognizer];
1023 }
1024 return self;
1025 }

References _blockingPolicy, and _embeddedView.

## ◆ releaseGesture

- (void) releaseGesture |  |  |

Definition at line 1031 of file FlutterPlatformViews.mm.

1031 {
1032 _delayingRecognizer.get().state = UIGestureRecognizerStateFailed;
1033 }

## ◆ setFlutterAccessibilityContainer:

- (void) setFlutterAccessibilityContainer: |  | (NSObject*) | flutterAccessibilityContainer |

Definition at line 1074 of file FlutterPlatformViews.mm.

1074 :(NSObject*)flutterAccessibilityContainer {
1075 _flutterAccessibilityContainer = flutterAccessibilityContainer;
1076 }

References _flutterAccessibilityContainer.

The documentation for this class was generated from the following files:

- shell/platform/darwin/ios/framework/Source/FlutterPlatformViews.mm
- shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.h

FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
@ FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded
Definition: FlutterPlugin.h:269
ForwardingGestureRecognizer
Definition: FlutterPlatformViews.mm:982
-[FlutterTouchInterceptingView embeddedView]
UIView * embeddedView()
Definition: FlutterPlatformViews.mm:1027
_blockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy _blockingPolicy
Definition: FlutterPlatformViews.mm:988
_flutterAccessibilityContainer
NSObject * _flutterAccessibilityContainer
Definition: FlutterPlatformViews.mm:995
FlutterPlatformViewGestureRecognizersBlockingPolicyEager
@ FlutterPlatformViewGestureRecognizersBlockingPolicyEager
Definition: FlutterPlugin.h:261
FlutterPlatformViewGestureRecognizersBlockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy
Definition: FlutterPlugin.h:252
DelayingGestureRecognizer
Definition: FlutterPlatformViews.mm:957
_embeddedView
UIView * _embeddedView
Definition: FlutterPlatformViews.mm:991