diff options
author | Paul DiPietro <pauldipietro@users.noreply.github.com> | 2016-10-26 12:11:58 -0500 |
---|---|---|
committer | Rui Marinho <me@ruimarinho.net> | 2016-10-26 18:11:58 +0100 |
commit | a0fb20a075e89ddb8763faa1306f07041ea3d4fe (patch) | |
tree | b35027444258882169967e24fdbafda446ddb890 | |
parent | b4a46d482f4b511de7e829f1cfe16aa81057560a (diff) | |
download | xamarin-forms-a0fb20a075e89ddb8763faa1306f07041ea3d4fe.tar.gz xamarin-forms-a0fb20a075e89ddb8763faa1306f07041ea3d4fe.tar.bz2 xamarin-forms-a0fb20a075e89ddb8763faa1306f07041ea3d4fe.zip |
[iOS] Add check for UIGestureRecognizerState.Cancelled when closing context action (#442)
3 files changed, 48 insertions, 1 deletions
diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla44338.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla44338.cs new file mode 100644 index 00000000..54fef829 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla44338.cs @@ -0,0 +1,45 @@ +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +#endif + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Bugzilla, 44338, "Tapping off of a cell with an open context action causes a crash in iOS 10", PlatformAffected.iOS)] + public class Bugzilla44338 : TestContentPage + { + protected override void Init() + { + string[] items = new string[] { "A", "B", "C" }; + Content = new ListView + { + ItemsSource = items, + ItemTemplate = new DataTemplate(() => + { + var label = new Label(); + label.SetBinding(Label.TextProperty, "."); + var view = new ViewCell + { + View = new StackLayout + { + Children = + { + label + } + } + }; + view.ContextActions.Add(new MenuItem + { + Text = "Action", + Command = new Command(() => DisplayAlert("Alert", "Context Action Pressed", "Close")) + }); + return view; + }) + }; + } + } +}
\ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems index 0e1f0297..5a62725a 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems @@ -129,9 +129,11 @@ <Compile Include="$(MSBuildThisFileDirectory)Bugzilla43516.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla44166.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla44461.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Bugzilla44584.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla42832.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla44044.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)Bugzilla44338.cs" /> <Compile Include="$(MSBuildThisFileDirectory)CarouselAsync.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla34561.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Bugzilla34727.cs" /> diff --git a/Xamarin.Forms.Platform.iOS/ContextScrollViewDelegate.cs b/Xamarin.Forms.Platform.iOS/ContextScrollViewDelegate.cs index bc04ede2..14f95a73 100644 --- a/Xamarin.Forms.Platform.iOS/ContextScrollViewDelegate.cs +++ b/Xamarin.Forms.Platform.iOS/ContextScrollViewDelegate.cs @@ -210,7 +210,7 @@ namespace Xamarin.Forms.Platform.iOS void ClearCloserRecognizer(UIScrollView scrollView) { - if (_globalCloser == null) + if (_globalCloser == null || _globalCloser.State == UIGestureRecognizerState.Cancelled) return; var cell = GetContextCell(scrollView); |