| 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 965 of file FlutterPlatformViews.mm.

## Method Documentation

## ◆ accessibilityContainer

- (id) accessibilityContainer |  |  |

Provided by category FlutterTouchInterceptingView(Tests).

## ◆ blockGesture

- (void) blockGesture |  |  |

Definition at line 1012 of file FlutterPlatformViews.mm.

1012 {
1013 switch (_blockingPolicy) {
1014 case FlutterPlatformViewGestureRecognizersBlockingPolicyEager:
1015 // We block all other gesture recognizers immediately in this policy.
1016 _delayingRecognizer.get().state = UIGestureRecognizerStateEnded;
1017 break;
1018 case FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded:
1019 if (_delayingRecognizer.get().touchedEndedWithoutBlocking) {
1020 // If touchesEnded of the `DelayingGesureRecognizer` has been already invoked,
1021 // we want to set the state of the `DelayingGesureRecognizer` to
1022 // `UIGestureRecognizerStateEnded` as soon as possible.
1023 _delayingRecognizer.get().state = UIGestureRecognizerStateEnded;
1024 } else {
1025 // If touchesEnded of the `DelayingGesureRecognizer` has not been invoked,
1026 // We will set a flag to notify the `DelayingGesureRecognizer` to set the state to
1027 // `UIGestureRecognizerStateEnded` when touchesEnded is called.
1028 _delayingRecognizer.get().shouldEndInNextTouchesEnded = YES;
1029 }
1030 break;
1031 default:
1032 break;
1033 }
1034 }

References _blockingPolicy, FlutterPlatformViewGestureRecognizersBlockingPolicyEager, and FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded.

## ◆ embeddedView

- (UIView *) embeddedView |  |  |

Definition at line 1004 of file FlutterPlatformViews.mm.

1004 {
1005 return [[_embeddedView retain] autorelease];
1006 }

Referenced by flutter::FlutterPlatformViewsController::GetPlatformViewByID.

## ◆ initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:

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

Definition at line 974 of file FlutterPlatformViews.mm.

974 :(UIView*)embeddedView
975 platformViewsController:
976 (fml::WeakPtr<flutter::FlutterPlatformViewsController>)platformViewsController
977 gestureRecognizersBlockingPolicy:
978 (FlutterPlatformViewGestureRecognizersBlockingPolicy)blockingPolicy {
979 self = [super initWithFrame:embeddedView.frame];
980 if (self) {
981 self.multipleTouchEnabled = YES;
982 _embeddedView = embeddedView;
983 embeddedView.autoresizingMask =
984 (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
985
986 [self addSubview:embeddedView];
987
988 ForwardingGestureRecognizer* forwardingRecognizer = [[[ForwardingGestureRecognizer alloc]
989 initWithTarget:self
990 platformViewsController:std::move(platformViewsController)] autorelease];
991
992 _delayingRecognizer.reset([[DelayingGestureRecognizer alloc]
993 initWithTarget:self
994 action:nil
995 forwardingRecognizer:forwardingRecognizer]);
996 _blockingPolicy = blockingPolicy;
997
998 [self addGestureRecognizer:_delayingRecognizer.get()];
999 [self addGestureRecognizer:forwardingRecognizer];
1000 }
1001 return self;
1002 }

References _blockingPolicy, and _embeddedView.

## ◆ releaseGesture

- (void) releaseGesture |  |  |

Definition at line 1008 of file FlutterPlatformViews.mm.

1008 {
1009 _delayingRecognizer.get().state = UIGestureRecognizerStateFailed;
1010 }

## ◆ setFlutterAccessibilityContainer:

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

Definition at line 1051 of file FlutterPlatformViews.mm.

1051 :(NSObject*)flutterAccessibilityContainer {
1052 _flutterAccessibilityContainer = flutterAccessibilityContainer;
1053 }

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:959
-[FlutterTouchInterceptingView embeddedView]
UIView * embeddedView()
Definition: FlutterPlatformViews.mm:1004
_blockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy _blockingPolicy
Definition: FlutterPlatformViews.mm:965
_flutterAccessibilityContainer
NSObject * _flutterAccessibilityContainer
Definition: FlutterPlatformViews.mm:972
FlutterPlatformViewGestureRecognizersBlockingPolicyEager
@ FlutterPlatformViewGestureRecognizersBlockingPolicyEager
Definition: FlutterPlugin.h:261
FlutterPlatformViewGestureRecognizersBlockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy
Definition: FlutterPlugin.h:252
DelayingGestureRecognizer
Definition: FlutterPlatformViews.mm:934
_embeddedView
UIView * _embeddedView
Definition: FlutterPlatformViews.mm:968