From 5858d32772a80b77110e0c410365369434bb55bb Mon Sep 17 00:00:00 2001 From: Satoshi Nakamura Date: Sat, 30 May 2020 20:28:04 +0900 Subject: [PATCH 1/7] fix csproj --- .gitignore | 1 + SettingsView/SettingsView.csproj | 1 + 2 files changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 10f16da..b0eb4b4 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ ## files generated by popular Visual Studio add-ons. .vs/ +mono_crash.* # User-specific files *.suo diff --git a/SettingsView/SettingsView.csproj b/SettingsView/SettingsView.csproj index 73679d7..72e10a0 100644 --- a/SettingsView/SettingsView.csproj +++ b/SettingsView/SettingsView.csproj @@ -15,6 +15,7 @@ + From 9ab225519bd2a9507d05b708d6d87def5ca99476 Mon Sep 17 00:00:00 2001 From: Satoshi Nakamura Date: Sat, 30 May 2020 20:33:09 +0900 Subject: [PATCH 2/7] fix ios csproj --- SettingsView.Droid/SettingsView.Droid.csproj | 3 ++- SettingsView.Droid/packages.config | 2 ++ SettingsView.iOS/SettingsView.iOS.csproj | 3 ++- SettingsView.iOS/packages.config | 2 ++ 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/SettingsView.Droid/SettingsView.Droid.csproj b/SettingsView.Droid/SettingsView.Droid.csproj index a427d91..d36d202 100644 --- a/SettingsView.Droid/SettingsView.Droid.csproj +++ b/SettingsView.Droid/SettingsView.Droid.csproj @@ -239,7 +239,7 @@ - {8FFB1EF3-FAF3-478C-B9F1-4D02E599C3C6} + {A8A6E3BB-F47C-4BF4-AFBD-E52A86544407} SettingsView @@ -284,4 +284,5 @@ + \ No newline at end of file diff --git a/SettingsView.Droid/packages.config b/SettingsView.Droid/packages.config index a801393..633e6c5 100644 --- a/SettingsView.Droid/packages.config +++ b/SettingsView.Droid/packages.config @@ -1,5 +1,7 @@  + + diff --git a/SettingsView.iOS/SettingsView.iOS.csproj b/SettingsView.iOS/SettingsView.iOS.csproj index cc4a8c5..c837ace 100644 --- a/SettingsView.iOS/SettingsView.iOS.csproj +++ b/SettingsView.iOS/SettingsView.iOS.csproj @@ -104,7 +104,7 @@ - {8FFB1EF3-FAF3-478C-B9F1-4D02E599C3C6} + {A8A6E3BB-F47C-4BF4-AFBD-E52A86544407} SettingsView @@ -114,4 +114,5 @@ + \ No newline at end of file diff --git a/SettingsView.iOS/packages.config b/SettingsView.iOS/packages.config index 69df5ce..f068e8d 100644 --- a/SettingsView.iOS/packages.config +++ b/SettingsView.iOS/packages.config @@ -1,4 +1,6 @@  + + \ No newline at end of file From cad51522191527654eaece8541036f058aabfa34 Mon Sep 17 00:00:00 2001 From: Satoshi Nakamura Date: Sat, 30 May 2020 20:45:34 +0900 Subject: [PATCH 3/7] .netstandard2.1 nuspec --- SettingsView.Droid/SettingsView.Droid.csproj | 2 +- SettingsView/SettingsView.csproj | 2 +- nuget/AzurePipelines.nuspec | 16 ++++++++++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/SettingsView.Droid/SettingsView.Droid.csproj b/SettingsView.Droid/SettingsView.Droid.csproj index d36d202..1e371f3 100644 --- a/SettingsView.Droid/SettingsView.Droid.csproj +++ b/SettingsView.Droid/SettingsView.Droid.csproj @@ -239,7 +239,7 @@ - {A8A6E3BB-F47C-4BF4-AFBD-E52A86544407} + {8FFB1EF3-FAF3-478C-B9F1-4D02E599C3C6} SettingsView diff --git a/SettingsView/SettingsView.csproj b/SettingsView/SettingsView.csproj index 72e10a0..2b22c22 100644 --- a/SettingsView/SettingsView.csproj +++ b/SettingsView/SettingsView.csproj @@ -1,7 +1,7 @@ - netstandard2.0 + netstandard2.1 diff --git a/nuget/AzurePipelines.nuspec b/nuget/AzurePipelines.nuspec index d342261..8e7215c 100644 --- a/nuget/AzurePipelines.nuspec +++ b/nuget/AzurePipelines.nuspec @@ -36,21 +36,29 @@ There are various cells such as (LabelCell,ButtonCell,CommandCell,SwitchCell,Che Xamarin.Forms TableView Cell Setting Configuration Option ListView UITableView RecyclerView ReOrder DragDrop en-US + + + - + - + - + - + + + + + + From 72719d06572d9d5db8e4f2aa1a34765f5377244a Mon Sep 17 00:00:00 2001 From: Satoshi Nakamura Date: Sat, 30 May 2020 20:55:13 +0900 Subject: [PATCH 4/7] fix pakage reference / .netstandard2.1 --- SettingsView.Droid/SettingsView.Droid.csproj | 1 - SettingsView.Droid/packages.config | 2 -- SettingsView.iOS/SettingsView.iOS.csproj | 3 +-- SettingsView.iOS/packages.config | 2 -- nuget/AzurePipelines.nuspec | 3 +++ 5 files changed, 4 insertions(+), 7 deletions(-) diff --git a/SettingsView.Droid/SettingsView.Droid.csproj b/SettingsView.Droid/SettingsView.Droid.csproj index 1e371f3..a427d91 100644 --- a/SettingsView.Droid/SettingsView.Droid.csproj +++ b/SettingsView.Droid/SettingsView.Droid.csproj @@ -284,5 +284,4 @@ - \ No newline at end of file diff --git a/SettingsView.Droid/packages.config b/SettingsView.Droid/packages.config index 633e6c5..a801393 100644 --- a/SettingsView.Droid/packages.config +++ b/SettingsView.Droid/packages.config @@ -1,7 +1,5 @@  - - diff --git a/SettingsView.iOS/SettingsView.iOS.csproj b/SettingsView.iOS/SettingsView.iOS.csproj index c837ace..cc4a8c5 100644 --- a/SettingsView.iOS/SettingsView.iOS.csproj +++ b/SettingsView.iOS/SettingsView.iOS.csproj @@ -104,7 +104,7 @@ - {A8A6E3BB-F47C-4BF4-AFBD-E52A86544407} + {8FFB1EF3-FAF3-478C-B9F1-4D02E599C3C6} SettingsView @@ -114,5 +114,4 @@ - \ No newline at end of file diff --git a/SettingsView.iOS/packages.config b/SettingsView.iOS/packages.config index f068e8d..69df5ce 100644 --- a/SettingsView.iOS/packages.config +++ b/SettingsView.iOS/packages.config @@ -1,6 +1,4 @@  - - \ No newline at end of file diff --git a/nuget/AzurePipelines.nuspec b/nuget/AzurePipelines.nuspec index 8e7215c..0f68387 100644 --- a/nuget/AzurePipelines.nuspec +++ b/nuget/AzurePipelines.nuspec @@ -24,6 +24,9 @@ There are various cells such as (LabelCell,ButtonCell,CommandCell,SwitchCell,Che ## Changes * [Header/Footer] Section header/footer does not respect SafeAreaInsets #83 +* Support .NETStandard2.1 +* Minimum Xamarin.Forms version >= 4.6.0.800 + ## Bug fixes From d27ecf05f0b8c123c0f8749202a04a918ac13223 Mon Sep 17 00:00:00 2001 From: Satoshi Nakamura Date: Sun, 31 May 2020 11:36:45 +0900 Subject: [PATCH 5/7] fix FontImageSource #95 --- Sample/Sample/Properties/AssemblyInfo.cs | 1 + Sample/Sample/Resources/icomoon.ttf | Bin 0 -> 2776 bytes Sample/Sample/Resources/ionicons.ttf | Bin 0 -> 112472 bytes Sample/Sample/Sample.csproj | 12 ++++++++++- Sample/Sample/Views/SettingsViewPage.xaml | 11 ++++++++-- Sample/Sample/Views/SurveyPage.xaml | 10 +-------- .../SettingsViewRecyclerAdapter.cs | 19 +++++++++++++----- SettingsView.iOS/Cells/CellBaseView.cs | 12 ++++++++++- 8 files changed, 47 insertions(+), 18 deletions(-) create mode 100644 Sample/Sample/Resources/icomoon.ttf create mode 100644 Sample/Sample/Resources/ionicons.ttf diff --git a/Sample/Sample/Properties/AssemblyInfo.cs b/Sample/Sample/Properties/AssemblyInfo.cs index 017d48a..f4ed131 100644 --- a/Sample/Sample/Properties/AssemblyInfo.cs +++ b/Sample/Sample/Properties/AssemblyInfo.cs @@ -3,3 +3,4 @@ using Xamarin.Forms; [assembly: ExportFont("APJapanesefont.ttf", Alias = "Anzu")] +[assembly: ExportFont("icomoon.ttf", Alias = "Moon")] \ No newline at end of file diff --git a/Sample/Sample/Resources/icomoon.ttf b/Sample/Sample/Resources/icomoon.ttf new file mode 100644 index 0000000000000000000000000000000000000000..532def582838a18e9de4623c793ebaa07d998cce GIT binary patch literal 2776 zcmai0U2Gdg5T3ccANyjTotz!h#H9X7&c#VwUoIE76zEkznm~V`MG>N?u}Mu*l-O3Q}srZ{G_IS#O1))mtlz$f=B?p(4j)i2+RXT4SZVury(h=L(oJ^lUt9XKl;2;+6n2 z2M(N0rPHa?2M)|^qMv9vE&8$Y7KyLbapf(bw%PXH|Fs>Hvl+uSZ9a}qSf<6tvEH~D z=Oan~)2I7Z^l(^T3F~_J8g(-d|E20KB7Z4k6suKMh7n@&7(vYHN-mp7VqzDXyKpyV zVsTTkN(p9R;&!ygCMbaRxWRUc{c@x8`;)JJ{_x2>Vt)SEXRkelYE$kPhxR0l*l{6+ z4DacD$QD0Afu2umV&?e zDB8oAk;zXpQS?KaOY_&DV`?fzgU%W_R{IdUj%hzV zFgSR4I6pd^&rfdKrs}a+W&i%8+>6=KSz~0x*t+5DD5kce&Q@qEvPuxospIB!0QSKJ zc!hH6UJZV1vu4)RFiz>As$+Wh#vF1}?&Bs&=os%t5>iPry`_?0t^Cwdo@oz$>CBR! zN4{)~3Yf8zTjLvewJfVs!7#U!60~F`phWWt#hTPrDH5b(8_;B-reGo;C6RnyiUb72 zU_|0M?tDM(IJ3#*h%qHedRXa_rbe4?HmAjqto2CZlrfy_FFVdOU5eJ#3MBj_M}xs` zS&Onmb}|!E0w~MhMK!rQ7>vqiWf=pCmp8{-%~LZad0S5N1Wk)lk0yu6USl8mQ0`B5 z-0j2q6>f#T7aQ?rpwQPEFda`T)G^(iMk>7>aD|k6-I}}NjdG7;A~nKf$hM* zp=rO~roAeg_!qBpzMD!hmv{3ryxMWN3+OuHwB1Q?A*0|%vj}Ojmp52N}e+cNMyhdx>Z!{e`-q@ zpB9O};L{THLdvIQ!jJg03ghtB$+`Mcyg(A#A6_%kv z3M8O?OejF{hO2G}9;wcsS*$FR(JDE51{R?L%Qw`Vtk;^U`D(4YTxnKMq#iq;nx3m4 qB;N`!>Dq3R^?BN+=6Y0tCe0@ZdkoIgIPJc`LGJ~~M;_ywwtoPoNST-b literal 0 HcmV?d00001 diff --git a/Sample/Sample/Resources/ionicons.ttf b/Sample/Sample/Resources/ionicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ffd7d6fb9780bb4c7c994c66c33ac479777b703d GIT binary patch literal 112472 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 literal 0 HcmV?d00001 diff --git a/Sample/Sample/Sample.csproj b/Sample/Sample/Sample.csproj index 302654d..cebe9f1 100644 --- a/Sample/Sample/Sample.csproj +++ b/Sample/Sample/Sample.csproj @@ -1,10 +1,16 @@ - netstandard2.0 + netstandard2.1 SettingsSample + + 8.0 + + + 8.0 + @@ -22,9 +28,13 @@ + + + + \ No newline at end of file diff --git a/Sample/Sample/Views/SettingsViewPage.xaml b/Sample/Sample/Views/SettingsViewPage.xaml index 7fd73f0..3378a78 100644 --- a/Sample/Sample/Views/SettingsViewPage.xaml +++ b/Sample/Sample/Views/SettingsViewPage.xaml @@ -61,7 +61,7 @@ @@ -72,7 +72,14 @@ - + + + + + diff --git a/Sample/Sample/Views/SurveyPage.xaml b/Sample/Sample/Views/SurveyPage.xaml index 0883506..40bd7f6 100644 --- a/Sample/Sample/Views/SurveyPage.xaml +++ b/Sample/Sample/Views/SurveyPage.xaml @@ -5,15 +5,7 @@ xmlns:sv="clr-namespace:AiForms.Renderers;assembly=SettingsView" x:Class="Sample.Views.SurveyPage"> - - - + diff --git a/SettingsView.Droid/SettingsViewRecyclerAdapter.cs b/SettingsView.Droid/SettingsViewRecyclerAdapter.cs index 3338b21..6f770a3 100644 --- a/SettingsView.Droid/SettingsViewRecyclerAdapter.cs +++ b/SettingsView.Droid/SettingsViewRecyclerAdapter.cs @@ -325,9 +325,16 @@ void BindHeaderView(HeaderViewHolder holder) { cellHeight = (int)_context.ToPixels(_settingsView.HeaderHeight); } + else + { + cellHeight = -1; // Height Auto + } - view.SetMinimumHeight(cellHeight); - view.LayoutParameters.Height = cellHeight; + if (cellHeight >= 0) + { + view.SetMinimumHeight(cellHeight); + view.LayoutParameters.Height = cellHeight; + } //textview setting holder.TextView.SetPadding( @@ -342,9 +349,11 @@ void BindHeaderView(HeaderViewHolder holder) holder.TextView.Typeface = FontUtility.CreateTypeface(_settingsView.HeaderFontFamily, _settingsView.HeaderFontAttributes); holder.TextView.SetTextSize(Android.Util.ComplexUnitType.Sp, (float)_settingsView.HeaderFontSize); holder.TextView.SetBackgroundColor(_settingsView.HeaderBackgroundColor.ToAndroid()); - holder.TextView.SetMaxLines(1); - holder.TextView.SetMinLines(1); - holder.TextView.Ellipsize = TextUtils.TruncateAt.End; + + // Single line was done away with. + //holder.TextView.SetMaxLines(1); + //holder.TextView.SetMinLines(1); + //holder.TextView.Ellipsize = TextUtils.TruncateAt.End; if (_settingsView.HeaderTextColor != Xamarin.Forms.Color.Default) { diff --git a/SettingsView.iOS/Cells/CellBaseView.cs b/SettingsView.iOS/Cells/CellBaseView.cs index 2647bb2..37925b1 100644 --- a/SettingsView.iOS/Cells/CellBaseView.cs +++ b/SettingsView.iOS/Cells/CellBaseView.cs @@ -7,6 +7,7 @@ using Xamarin.Forms.Platform.iOS; using Foundation; using CoreGraphics; +using CoreFoundation; namespace AiForms.Renderers.iOS { @@ -514,7 +515,16 @@ void LoadIconImage(IImageSourceHandler handler, ImageSource source) var scale = (float)UIScreen.MainScreen.Scale; Task.Run(async () => { - image = await handler.LoadImageAsync(source, token, scale: scale); + if(source is FontImageSource) + { + DispatchQueue.MainQueue.DispatchSync(async () => { + image = await handler.LoadImageAsync(source, token, scale: scale); + }); + } + else + { + image = await handler.LoadImageAsync(source, token, scale: scale); + } token.ThrowIfCancellationRequested(); }, token).ContinueWith(t => { From 972420aaa863a2909ac2b5e4d7cc7cfe497a31bb Mon Sep 17 00:00:00 2001 From: Satoshi Nakamura Date: Sun, 31 May 2020 11:38:47 +0900 Subject: [PATCH 6/7] nuspec --- nuget/AzurePipelines.nuspec | 1 + 1 file changed, 1 insertion(+) diff --git a/nuget/AzurePipelines.nuspec b/nuget/AzurePipelines.nuspec index 0f68387..2f8393a 100644 --- a/nuget/AzurePipelines.nuspec +++ b/nuget/AzurePipelines.nuspec @@ -30,6 +30,7 @@ There are various cells such as (LabelCell,ButtonCell,CommandCell,SwitchCell,Che ## Bug fixes +* FontImageSource is not displayed. #95 * [TextPickerCell] The last item is selected by default #93 * [HintText] HintText does not respect SafeAreaInsets. #90 * [Header/Footer] Header / Footer is broken the layout #87 #88 #89 From 572af93fe18e95a496430e4e497a55ec5e3f1b34 Mon Sep 17 00:00:00 2001 From: Satoshi Nakamura Date: Sun, 31 May 2020 16:24:16 +0900 Subject: [PATCH 7/7] fix: PickerCell on Shell #67 --- README-ja.md | 2 - README.md | 2 - Sample/Sample/App.xaml.cs | 2 +- Sample/Sample/Views/ShellTestPage.xaml | 9 ++- SettingsView.iOS/Cells/PickerCellRenderer.cs | 61 ++++++++++++++++--- .../Cells/PickerTableViewController.cs | 53 ++++++++++------ nuget/AzurePipelines.nuspec | 1 + 7 files changed, 96 insertions(+), 34 deletions(-) diff --git a/README-ja.md b/README-ja.md index 65d115b..b2e5467 100644 --- a/README-ja.md +++ b/README-ja.md @@ -657,8 +657,6 @@ ValueTextは使用できません。 iOSではタップ時にページ遷移し遷移先ページでピッカーが表示されます。 Androidではタップ時にダイアログでピッカーが表示されます。 -> PickerCellは、iOSのShell上では動作しません。 - ### Properties * PageTitle diff --git a/README.md b/README.md index 9836c78..eb8b837 100644 --- a/README.md +++ b/README.md @@ -649,8 +649,6 @@ This is a LabelCell calling a multiple select picker. When tapped on iOS, move next page and show picker there. When tapped on Android, show the picker on a dialog. -> Note that the PickerCell is not supported in Shell on iOS. - ### Properties * PageTitle diff --git a/Sample/Sample/App.xaml.cs b/Sample/Sample/App.xaml.cs index 704bfcf..1f99c23 100644 --- a/Sample/Sample/App.xaml.cs +++ b/Sample/Sample/App.xaml.cs @@ -22,7 +22,7 @@ protected override void OnInitialized() NavigationService.NavigateAsync("MyNavigationPage/MainPage"); //MainPage = new AppShell(); - } + } protected override void RegisterTypes(IContainerRegistry containerRegistry) { diff --git a/Sample/Sample/Views/ShellTestPage.xaml b/Sample/Sample/Views/ShellTestPage.xaml index c6f6527..d4a9f48 100644 --- a/Sample/Sample/Views/ShellTestPage.xaml +++ b/Sample/Sample/Views/ShellTestPage.xaml @@ -3,11 +3,14 @@ xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:ai="clr-namespace:AiForms.Renderers;assembly=SettingsView" - x:Class="Sample.Views.ShellTestPage"> - + x:Class="Sample.Views.ShellTestPage" + NavigationPage.BackButtonTitle="" + Title="ShellTest" + > + - + diff --git a/SettingsView.iOS/Cells/PickerCellRenderer.cs b/SettingsView.iOS/Cells/PickerCellRenderer.cs index 4f2be4b..a97dd99 100644 --- a/SettingsView.iOS/Cells/PickerCellRenderer.cs +++ b/SettingsView.iOS/Cells/PickerCellRenderer.cs @@ -1,12 +1,12 @@ -using AiForms.Renderers; +using System.Collections.Specialized; +using System.Linq; +using AiForms.Renderers; using AiForms.Renderers.iOS; +using Foundation; +using ObjCRuntime; using UIKit; using Xamarin.Forms; -using System.Collections.Specialized; -using System; -using Foundation; -using System.Linq; -using System.ComponentModel; +using Xamarin.Forms.Platform.iOS; [assembly: ExportRenderer(typeof(PickerCell), typeof(PickerCellRenderer))] namespace AiForms.Renderers.iOS @@ -82,10 +82,34 @@ public override void RowSelected(UITableView tableView, NSIndexPath indexPath) return; } - var naviCtrl = GetUINavigationController(UIApplication.SharedApplication.KeyWindow.RootViewController); _pickerVC?.Dispose(); - _pickerVC = new PickerTableViewController(this, tableView); - BeginInvokeOnMainThread(() => naviCtrl.PushViewController(_pickerVC, true)); + + var naviCtrl = GetUINavigationController(UIApplication.SharedApplication.KeyWindow.RootViewController); + if(naviCtrl is ShellSectionRenderer shell) + { + // When use Shell, the NativeView is wrapped in a Forms.ContentPage. + _pickerVC = new PickerTableViewController(this, tableView, shell.ShellSection.Navigation); + // Fix height broken. For some reason, TableView ContentSize is broken. + _pickerVC.TableView.ContentInset = new UIEdgeInsets(44, 0, 44, 0); + var page = new ContentPage(); + page.Content = _pickerVC.TableView.ToView(); ; + page.Title = _PickerCell.PageTitle; + + // Fire manually because INavigation.PushAsync does not work ViewDidAppear and ViewWillAppear. + _pickerVC.ViewDidAppear(false); + _pickerVC.InitializeView(); + BeginInvokeOnMainThread(async () => { + await shell.ShellSection.Navigation.PushAsync(page, true); + _pickerVC.InitializeScroll(); + }); + } + else + { + // When use traditional navigation. + _pickerVC = new PickerTableViewController(this, tableView); + BeginInvokeOnMainThread(() => naviCtrl.PushViewController(_pickerVC, true)); + } + if (!_PickerCell.KeepSelectedUntilBack) { @@ -93,6 +117,25 @@ public override void RowSelected(UITableView tableView, NSIndexPath indexPath) } } + class NavDelegate : UINavigationControllerDelegate + { + readonly ShellSectionRenderer _self; + + public NavDelegate(ShellSectionRenderer renderer) + { + _self = renderer; + } + + public override void DidShowViewController(UINavigationController navigationController, [Transient] UIViewController viewController, bool animated) + { + } + + public override void WillShowViewController(UINavigationController navigationController, [Transient] UIViewController viewController, bool animated) + { + navigationController.SetNavigationBarHidden(false, true); + } + } + /// /// Updates the cell. /// diff --git a/SettingsView.iOS/Cells/PickerTableViewController.cs b/SettingsView.iOS/Cells/PickerTableViewController.cs index ea82ac1..eba31a3 100644 --- a/SettingsView.iOS/Cells/PickerTableViewController.cs +++ b/SettingsView.iOS/Cells/PickerTableViewController.cs @@ -4,6 +4,7 @@ using System.Linq; using Foundation; using UIKit; +using Xamarin.Forms; using Xamarin.Forms.Platform.iOS; namespace AiForms.Renderers.iOS @@ -24,25 +25,27 @@ internal class PickerTableViewController : UITableViewController nfloat _detailFontSize; UIColor _background; UITableView _tableView; + INavigation _shellNavigation; - internal PickerTableViewController(PickerCellView pickerCellView, UITableView tableView):base(UITableViewStyle.Grouped) + internal PickerTableViewController(PickerCellView pickerCellView, UITableView tableView,INavigation shellNavigation = null):base(UITableViewStyle.Grouped) { _pickerCell = pickerCellView.Cell as PickerCell; _pickerCellNative = pickerCellView; _parent = pickerCellView.CellParent; _source = _pickerCell.ItemsSource as IList; _tableView = tableView; + _shellNavigation = shellNavigation; if (_pickerCell.SelectedItems == null) { _pickerCell.SelectedItems = new List(); - } + } SetUpProperties(); } void SetUpProperties() - { + { if (_pickerCell.AccentColor != Xamarin.Forms.Color.Default) { _accentColor = _pickerCell.AccentColor.ToUIColor(); } @@ -203,7 +206,14 @@ void DoPickToClose() { if (_pickerCell.UsePickToClose && _selectedCache.Count == _pickerCell.MaxSelectedNumber) { - this.NavigationController.PopViewController(true); + if(_shellNavigation != null) + { + _shellNavigation.PopAsync(true); + } + else + { + this.NavigationController.PopViewController(true); + } } } @@ -215,35 +225,49 @@ public override void ViewWillAppear(bool animated) { base.ViewWillAppear(animated); + InitializeView(); + InitializeScroll(); + } + + public void InitializeView() + { Title = _pickerCell.PageTitle; var parent = _pickerCell.Parent as SettingsView; - if (parent != null) { + if (parent != null) + { TableView.SeparatorColor = parent.SeparatorColor.ToUIColor(); TableView.BackgroundColor = parent.BackgroundColor.ToUIColor(); } + } + public void InitializeScroll() + { IList selectedList = _pickerCell.MergedSelectedList; - foreach (var item in selectedList) { + foreach (var item in selectedList) + { var idx = _source.IndexOf(item); - if (idx < 0) { + if (idx < 0) + { continue; } _selectedCache[idx] = _source[idx]; - if (_pickerCell.MaxSelectedNumber >= 1 && _selectedCache.Count >= _pickerCell.MaxSelectedNumber) { + if (_pickerCell.MaxSelectedNumber >= 1 && _selectedCache.Count >= _pickerCell.MaxSelectedNumber) + { break; } } - if (selectedList.Count > 0) { + if (selectedList.Count > 0) + { var idx = _source.IndexOf(selectedList[0]); - if(idx < 0){ + if (idx < 0) + { return; } - BeginInvokeOnMainThread(() => - { + BeginInvokeOnMainThread(() => { TableView.ScrollToRow(NSIndexPath.Create(new nint[] { 0, idx }), UITableViewScrollPosition.Middle, false); }); } @@ -274,11 +298,6 @@ public override void ViewWillDisappear(bool animated) _pickerCell.InvokeCommand(); } - public override void ViewDidDisappear(bool animated) - { - - } - /// /// Dispose the specified disposing. /// diff --git a/nuget/AzurePipelines.nuspec b/nuget/AzurePipelines.nuspec index 2f8393a..af9b2c2 100644 --- a/nuget/AzurePipelines.nuspec +++ b/nuget/AzurePipelines.nuspec @@ -30,6 +30,7 @@ There are various cells such as (LabelCell,ButtonCell,CommandCell,SwitchCell,Che ## Bug fixes +* [PickerCell] PickerCell is now supported on Shell. #67 * FontImageSource is not displayed. #95 * [TextPickerCell] The last item is selected by default #93 * [HintText] HintText does not respect SafeAreaInsets. #90