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

## Method Documentation

## ◆ accessibilityContainer

- (id) accessibilityContainer |  |  |

Provided by category FlutterTouchInterceptingView(Tests).

## ◆ blockGesture

- (void) blockGesture |  |  |

Definition at line 1008 of file FlutterPlatformViews.mm.

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

References _blockingPolicy, FlutterPlatformViewGestureRecognizersBlockingPolicyEager, and FlutterPlatformViewGestureRecognizersBlockingPolicyWaitUntilTouchesEnded.

## ◆ embeddedView

- (UIView *) embeddedView |  |  |

Definition at line 1000 of file FlutterPlatformViews.mm.

1000 {
1001 return [[_embeddedView retain] autorelease];
1002 }

Referenced by flutter::FlutterPlatformViewsController::GetPlatformViewByID.

## ◆ initWithEmbeddedView:platformViewsController:gestureRecognizersBlockingPolicy:

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

Definition at line 970 of file FlutterPlatformViews.mm.

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

References _blockingPolicy, _embeddedView, and action.

## ◆ releaseGesture

- (void) releaseGesture |  |  |

Definition at line 1004 of file FlutterPlatformViews.mm.

1004 {
1005 _delayingRecognizer.get().state = UIGestureRecognizerStateFailed;
1006 }

## ◆ setFlutterAccessibilityContainer:

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

Definition at line 1047 of file FlutterPlatformViews.mm.

1047 :(NSObject*)flutterAccessibilityContainer {
1048 _flutterAccessibilityContainer = flutterAccessibilityContainer;
1049 }

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:268
ForwardingGestureRecognizer
Definition: FlutterPlatformViews.mm:955
-[FlutterTouchInterceptingView embeddedView]
UIView * embeddedView()
Definition: FlutterPlatformViews.mm:1000
_blockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy _blockingPolicy
Definition: FlutterPlatformViews.mm:961
_flutterAccessibilityContainer
NSObject * _flutterAccessibilityContainer
Definition: FlutterPlatformViews.mm:968
action
SemanticsAction action
Definition: SemanticsObjectTestMocks.h:21
FlutterPlatformViewGestureRecognizersBlockingPolicyEager
@ FlutterPlatformViewGestureRecognizersBlockingPolicyEager
Definition: FlutterPlugin.h:260
FlutterPlatformViewGestureRecognizersBlockingPolicy
FlutterPlatformViewGestureRecognizersBlockingPolicy
Definition: FlutterPlugin.h:252
DelayingGestureRecognizer
Definition: FlutterPlatformViews.mm:930
_embeddedView
UIView * _embeddedView
Definition: FlutterPlatformViews.mm:964