diff --git a/source/ios/AdaptiveCards/ADCIOSVisualizer/ADCIOSVisualizer/CustomImageRenderer.mm b/source/ios/AdaptiveCards/ADCIOSVisualizer/ADCIOSVisualizer/CustomImageRenderer.mm index a808794424..19c7604f7e 100644 --- a/source/ios/AdaptiveCards/ADCIOSVisualizer/ADCIOSVisualizer/CustomImageRenderer.mm +++ b/source/ios/AdaptiveCards/ADCIOSVisualizer/ADCIOSVisualizer/CustomImageRenderer.mm @@ -18,6 +18,7 @@ #import #import #import +#import @implementation CustomImageRenderer @@ -170,6 +171,8 @@ - (UIView *)render:(UIView *)viewGroup hostConfig:acoConfig]; view.translatesAutoresizingMaskIntoConstraints = NO; wrappingview.translatesAutoresizingMaskIntoConstraints = NO; + configVisibility(wrappingview, elem); + return wrappingview; } diff --git a/source/ios/AdaptiveCards/ADCIOSVisualizer/ADCIOSVisualizer/ViewController.m b/source/ios/AdaptiveCards/ADCIOSVisualizer/ADCIOSVisualizer/ViewController.m index 69fbd75e01..bc6dcf708a 100644 --- a/source/ios/AdaptiveCards/ADCIOSVisualizer/ADCIOSVisualizer/ViewController.m +++ b/source/ios/AdaptiveCards/ADCIOSVisualizer/ADCIOSVisualizer/ViewController.m @@ -391,6 +391,10 @@ - (void)didFetchUserResponses:(ACOAdaptiveCard *)card action:(ACOBaseActionEleme newType.alertController = alertController; [self presentViewController:alertController animated:YES completion:nil]; } + } else if (action.type == ACRToggleVisibility) { + UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Toggle Visibilty" message:nil preferredStyle:UIAlertControllerStyleAlert]; + [alertController addAction:[UIAlertAction actionWithTitle:@"Dismiss" style:UIAlertActionStyleDefault handler:nil]]; + [self presentViewController:alertController animated:YES completion:nil]; } } diff --git a/source/ios/AdaptiveCards/AdaptiveCards/AdaptiveCards/ACRToggleVisibilityTarget.mm b/source/ios/AdaptiveCards/AdaptiveCards/AdaptiveCards/ACRToggleVisibilityTarget.mm index 23948f0e15..8a71f49b37 100644 --- a/source/ios/AdaptiveCards/AdaptiveCards/AdaptiveCards/ACRToggleVisibilityTarget.mm +++ b/source/ios/AdaptiveCards/AdaptiveCards/AdaptiveCards/ACRToggleVisibilityTarget.mm @@ -16,7 +16,7 @@ @implementation ACRToggleVisibilityTarget { ACOHostConfig *_config; __weak ACRView *_rootView; - std::unique_ptr _action; + std::shared_ptr _action; } - (instancetype)initWithActionElement:(std::shared_ptr const &)actionElement @@ -27,7 +27,7 @@ - (instancetype)initWithActionElement:(std::shared_ptr(*(actionElement.get())); + _action = std::make_shared(*(actionElement.get())); } return self; } @@ -62,6 +62,8 @@ - (void)doSelectAction } } } + + [_rootView.acrActionDelegate didFetchUserResponses:[_rootView card] action:[[ACOBaseActionElement alloc] initWithBaseActionElement:_action]]; } @end diff --git a/source/ios/AdaptiveCards/AdaptiveCards/AdaptiveCards/UtiliOS.h b/source/ios/AdaptiveCards/AdaptiveCards/AdaptiveCards/UtiliOS.h index bb51ef27fe..1f8a955609 100644 --- a/source/ios/AdaptiveCards/AdaptiveCards/AdaptiveCards/UtiliOS.h +++ b/source/ios/AdaptiveCards/AdaptiveCards/AdaptiveCards/UtiliOS.h @@ -17,6 +17,8 @@ using namespace AdaptiveCards; +// configures tag and initial visibility of the given view. Toggle visibility action +// will access the view by the tag to change the visibility. void configVisibility(UIView *view, std::shared_ptr const &visibilityInfo); void configSeparatorVisibility(ACRSeparator *view,