* [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