* [ios] support accessibility magic Tap event

Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/06d160be
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/06d160be
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/06d160be

Branch: refs/heads/master
Commit: 06d160befb9e708628fcf78ce2de3392c49939d8
Parents: 927cc65
Author: acton393 <zhangxing610...@gmail.com>
Authored: Mon Oct 2 15:09:01 2017 +0800
Committer: gurisxie <279483...@qq.com>
Committed: Wed Oct 4 16:21:38 2017 +0800

----------------------------------------------------------------------
 .../WeexSDK/Sources/Component/WXComponent_internal.h |  2 ++
 ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m  | 15 ++++++++++++++-
 ios/sdk/WeexSDK/Sources/View/WXView.m                |  9 +++++++++
 3 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/06d160be/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h 
b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
index 5d9b687..f1163a9 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
+++ b/ios/sdk/WeexSDK/Sources/Component/WXComponent_internal.h
@@ -72,6 +72,8 @@ typedef id (^WXDataBindingBlock)(NSDictionary *data, BOOL 
*needUpdate);
     NSString * _accessibilityHintContent; // hint for the action
     NSString * _testId;// just for auto-test
     
+    BOOL _accessibilityMagicTapEvent;
+    
     /**
      *  PseudoClass
      */

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/06d160be/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m 
b/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m
index 6247f07..2c343f4 100644
--- a/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m
+++ b/ios/sdk/WeexSDK/Sources/Events/WXComponent+Events.m
@@ -172,6 +172,7 @@ if ([removeEventName isEqualToString:@#eventName]) {\
     WX_ADD_EVENT(touchmove, addTouchMoveEvent)
     WX_ADD_EVENT(touchend, addTouchEndEvent)
     WX_ADD_EVENT(touchcancel, addTouchCancelEvent)
+    WX_ADD_EVENT(accessibilityMagicTap, addAccessibilityMagicTapEvent)
     
     if(_isListenPseudoTouch) {
         self.touchGesture.listenPseudoTouch = YES;
@@ -200,7 +201,7 @@ if ([removeEventName isEqualToString:@#eventName]) {\
     WX_REMOVE_EVENT(touchmove, removeTouchMoveEvent)
     WX_REMOVE_EVENT(touchend, removeTouchEndEvent)
     WX_REMOVE_EVENT(touchcancel, removeTouchCancelEvent)
-    
+    WX_REMOVE_EVENT(accessibilityMagicTap, removeAccessibilityMagicTapEvent)
     if(_isListenPseudoTouch) {
         self.touchGesture.listenPseudoTouch = NO;
     }
@@ -259,6 +260,18 @@ if ([removeEventName isEqualToString:@#eventName]) {\
     [self checkRemoveTouchGesture];
 }
 
+#pragma mark - Accessibility Event
+
+- (void)addAccessibilityMagicTapEvent
+{
+    _accessibilityMagicTapEvent = YES;
+}
+
+- (void)removeAccessibilityMagicTapEvent
+{
+    _accessibilityMagicTapEvent = NO;
+}
+
 #pragma mark - Click Event
 
 - (void)addClickEvent

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/06d160be/ios/sdk/WeexSDK/Sources/View/WXView.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/View/WXView.m 
b/ios/sdk/WeexSDK/Sources/View/WXView.m
index 4619ef1..397ece3 100644
--- a/ios/sdk/WeexSDK/Sources/View/WXView.m
+++ b/ios/sdk/WeexSDK/Sources/View/WXView.m
@@ -20,6 +20,7 @@
 #import "WXView.h"
 #import "WXComponent.h"
 #import "WXLayer.h"
+#import "WXComponent_internal.h"
 
 @implementation WXView
 
@@ -61,4 +62,12 @@
     return nil;
 }
 
+- (BOOL)accessibilityPerformMagicTap
+{
+    if (self.wx_component->_accessibilityMagicTapEvent) {
+        [self.wx_component fireEvent:@"accessibilityPerformMagicTap" 
params:nil];
+    }
+    return [super accessibilityPerformMagicTap];
+}
+
 @end

Reply via email to