diff --git a/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/Contents.json b/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/Contents.json new file mode 100644 index 0000000..94f56f8 --- /dev/null +++ b/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "bookmark-solid.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "bookmark-solid@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "bookmark-solid@3x.png", + "scale": "3x", + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid.png b/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid.png new file mode 100644 index 0000000..37bcec8 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid@2x.png b/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid@2x.png new file mode 100644 index 0000000..6b5d6c5 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid@2x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid@3x.png b/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid@3x.png new file mode 100644 index 0000000..3ba21e2 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconBookmark.imageset/bookmark-solid@3x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/Contents.json b/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/Contents.json new file mode 100644 index 0000000..a440013 --- /dev/null +++ b/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "bookmark-regular.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "bookmark-regular@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "bookmark-regular@3x.png", + "scale": "3x", + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular.png b/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular.png new file mode 100644 index 0000000..0686fab Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular@2x.png b/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular@2x.png new file mode 100644 index 0000000..53d254b Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular@2x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular@3x.png b/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular@3x.png new file mode 100644 index 0000000..4fbdc51 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconBookmarkRegular.imageset/bookmark-regular@3x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSort.imageset/Contents.json b/Pixiview.iOS/Assets.xcassets/IconSort.imageset/Contents.json new file mode 100644 index 0000000..6987e04 --- /dev/null +++ b/Pixiview.iOS/Assets.xcassets/IconSort.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "sort-size-up-alt-solid.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "sort-size-up-alt-solid@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "sort-size-up-alt-solid@3x.png", + "scale": "3x", + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid.png b/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid.png new file mode 100644 index 0000000..e932bf8 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid@2x.png b/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid@2x.png new file mode 100644 index 0000000..4bb293b Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid@2x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid@3x.png b/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid@3x.png new file mode 100644 index 0000000..2df04f3 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSort.imageset/sort-size-up-alt-solid@3x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/Contents.json b/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/Contents.json new file mode 100644 index 0000000..843f3d9 --- /dev/null +++ b/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "sort-size-up-alt-regular.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "sort-size-up-alt-regular@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "sort-size-up-alt-regular@3x.png", + "scale": "3x", + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular.png b/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular.png new file mode 100644 index 0000000..a8ae21a Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular@2x.png b/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular@2x.png new file mode 100644 index 0000000..d4babe2 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular@2x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular@3x.png b/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular@3x.png new file mode 100644 index 0000000..119a68d Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSortRegular.imageset/sort-size-up-alt-regular@3x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/Contents.json b/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/Contents.json new file mode 100644 index 0000000..7d4b461 --- /dev/null +++ b/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "sparkles-solid.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "sparkles-solid@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "sparkles-solid@3x.png", + "scale": "3x", + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid.png b/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid.png new file mode 100644 index 0000000..af162e6 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid@2x.png b/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid@2x.png new file mode 100644 index 0000000..525826a Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid@2x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid@3x.png b/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid@3x.png new file mode 100644 index 0000000..e36980f Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSparkles.imageset/sparkles-solid@3x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/Contents.json b/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/Contents.json new file mode 100644 index 0000000..a1061ec --- /dev/null +++ b/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "sparkles-regular.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "sparkles-regular@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "sparkles-regular@3x.png", + "scale": "3x", + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular.png b/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular.png new file mode 100644 index 0000000..673f994 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular@2x.png b/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular@2x.png new file mode 100644 index 0000000..b6bfd65 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular@2x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular@3x.png b/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular@3x.png new file mode 100644 index 0000000..b39cc9d Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconSparklesRegular.imageset/sparkles-regular@3x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconUser.imageset/Contents.json b/Pixiview.iOS/Assets.xcassets/IconUser.imageset/Contents.json new file mode 100644 index 0000000..772b45c --- /dev/null +++ b/Pixiview.iOS/Assets.xcassets/IconUser.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "user-solid.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "user-solid@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "user-solid@3x.png", + "scale": "3x", + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid.png b/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid.png new file mode 100644 index 0000000..7d12b65 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid@2x.png b/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid@2x.png new file mode 100644 index 0000000..becf79b Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid@2x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid@3x.png b/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid@3x.png new file mode 100644 index 0000000..e1a9ae9 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconUser.imageset/user-solid@3x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/Contents.json b/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/Contents.json new file mode 100644 index 0000000..08dd898 --- /dev/null +++ b/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "filename": "user-regular.png", + "scale": "1x", + "idiom": "universal" + }, + { + "filename": "user-regular@2x.png", + "scale": "2x", + "idiom": "universal" + }, + { + "filename": "user-regular@3x.png", + "scale": "3x", + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} diff --git a/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular.png b/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular.png new file mode 100644 index 0000000..6eb70c6 Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular@2x.png b/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular@2x.png new file mode 100644 index 0000000..a88ad0d Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular@2x.png differ diff --git a/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular@3x.png b/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular@3x.png new file mode 100644 index 0000000..b03f84c Binary files /dev/null and b/Pixiview.iOS/Assets.xcassets/IconUserRegular.imageset/user-regular@3x.png differ diff --git a/Pixiview.iOS/Pixiview.iOS.csproj b/Pixiview.iOS/Pixiview.iOS.csproj index cbb3272..e05027a 100644 --- a/Pixiview.iOS/Pixiview.iOS.csproj +++ b/Pixiview.iOS/Pixiview.iOS.csproj @@ -136,6 +136,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -165,6 +197,14 @@ + + + + + + + + diff --git a/Pixiview.iOS/Renderers/AppShellRenderer.cs b/Pixiview.iOS/Renderers/AppShellRenderer.cs index 1dad1f8..aca7a8b 100644 --- a/Pixiview.iOS/Renderers/AppShellRenderer.cs +++ b/Pixiview.iOS/Renderers/AppShellRenderer.cs @@ -32,7 +32,7 @@ namespace Pixiview.iOS.Renderers protected override IShellTabBarAppearanceTracker CreateTabBarAppearanceTracker() { - return new AppShellTabBarAppearanceTracker((AppShell)Element); + return new AppShellTabBarAppearanceTracker(); } protected override IShellNavBarAppearanceTracker CreateNavBarAppearanceTracker() diff --git a/Pixiview.iOS/Renderers/AppShellSection/AppAppearanceTracker.cs b/Pixiview.iOS/Renderers/AppShellSection/AppAppearanceTracker.cs index 4a6fdd6..0aca86e 100644 --- a/Pixiview.iOS/Renderers/AppShellSection/AppAppearanceTracker.cs +++ b/Pixiview.iOS/Renderers/AppShellSection/AppAppearanceTracker.cs @@ -1,4 +1,4 @@ -using System.Linq; +using System.Diagnostics.CodeAnalysis; using CoreGraphics; using UIKit; using Xamarin.Forms; @@ -100,14 +100,6 @@ namespace Pixiview.iOS.Renderers.AppShellSection UIColor _defaultTint; UIColor _defaultUnselectedTint; - private readonly AppShell appShell; - private bool initIcons; - - public AppShellTabBarAppearanceTracker(AppShell shell) - { - appShell = shell; - } - public void ResetAppearance(UITabBarController controller) { if (_defaultTint == null) @@ -119,6 +111,7 @@ namespace Pixiview.iOS.Renderers.AppShellSection tabBar.UnselectedItemTintColor = _defaultUnselectedTint; } + [SuppressMessage("Code Notifications", "XI0001:Notifies you with advices on how to use Apple APIs", Justification = "")] public void SetAppearance(UITabBarController controller, ShellAppearance appearance) { IShellAppearanceElement appearanceElement = appearance; @@ -127,33 +120,20 @@ namespace Pixiview.iOS.Renderers.AppShellSection var tintColor = appearanceElement.EffectiveTabBarForegroundColor; // appearanceElement.EffectiveTabBarTitleColor; var tabBar = controller.TabBar; - if (tabBar.Items != null && !initIcons) + if (tabBar.Items != null && tabBar.Items.Length == 4) { - initIcons = true; - var sources = appShell.CurrentItem.Items.Select(i => (FontImageSource)i.Icon).ToArray(); - var images = new UIImage[sources.Length]; - var handler = new FontImageSourceHandler(); - for (var i = 0; i < images.Length; i++) - { - var font = sources[i]; - if (font != null) - { - images[i] = handler.LoadImageAsync(new FontImageSource - { - FontFamily = "FontAwesome5Pro-Solid", - Glyph = font.Glyph, - Size = font.Size - }).Result; - } - } - for (var i = 0; i < tabBar.Items.Length; i++) - { - var image = images[i]; - if (image != null) - { - tabBar.Items[i].SelectedImage = image; - } - } + var tabUser = tabBar.Items[0]; + tabUser.Image = UIImage.FromBundle("IconUserRegular"); + tabUser.SelectedImage = UIImage.FromBundle("IconUser"); + var tabRecommend = tabBar.Items[1]; + tabRecommend.Image = UIImage.FromBundle("IconSparklesRegular"); + tabRecommend.SelectedImage = UIImage.FromBundle("IconSparkles"); + var tabRank = tabBar.Items[2]; + tabRank.Image = UIImage.FromBundle("IconSortRegular"); + tabRank.SelectedImage = UIImage.FromBundle("IconSort"); + var tabFavorite = tabBar.Items[3]; + tabFavorite.Image = UIImage.FromBundle("IconBookmarkRegular"); + tabFavorite.SelectedImage = UIImage.FromBundle("IconBookmark"); } if (_defaultTint == null) diff --git a/Pixiview/AppShell.xaml b/Pixiview/AppShell.xaml index 9c6cce6..4d1dd17 100644 --- a/Pixiview/AppShell.xaml +++ b/Pixiview/AppShell.xaml @@ -73,26 +73,22 @@ - - - - diff --git a/Pixiview/UI/Theme/ThemeBase.cs b/Pixiview/UI/Theme/ThemeBase.cs index 7abbd0d..5350c2f 100644 --- a/Pixiview/UI/Theme/ThemeBase.cs +++ b/Pixiview/UI/Theme/ThemeBase.cs @@ -4,10 +4,6 @@ namespace Pixiview.UI.Theme { public abstract class ThemeBase : ResourceDictionary { - public const string FontIconUser = nameof(FontIconUser); - public const string FontIconSparkles = nameof(FontIconSparkles); - public const string FontIconOrder = nameof(FontIconOrder); - public const string FontIconFavorite = nameof(FontIconFavorite); public const string FontIconUserFlyout = nameof(FontIconUserFlyout); public const string FontIconSparklesFlyout = nameof(FontIconSparklesFlyout); public const string FontIconOrderFlyout = nameof(FontIconOrderFlyout); @@ -63,10 +59,6 @@ namespace Pixiview.UI.Theme Add(FontIconOrderFlyout, GetSolidIcon(StyleDefinition.IconOrder, solidFontFamily)); Add(FontIconFavoriteFlyout, GetSolidIcon(StyleDefinition.IconFavorite, solidFontFamily)); Add(FontIconOption, GetSolidIcon(StyleDefinition.IconOption, solidFontFamily)); - Add(FontIconUser, GetSolidIcon(StyleDefinition.IconUser, regularFontFamily)); - Add(FontIconSparkles, GetSolidIcon(StyleDefinition.IconSparkles, regularFontFamily)); - Add(FontIconOrder, GetSolidIcon(StyleDefinition.IconOrder, regularFontFamily)); - Add(FontIconFavorite, GetSolidIcon(StyleDefinition.IconFavorite, regularFontFamily)); #elif __ANDROID__ Add(FontIconUserFlyout, ImageSource.FromFile("ic_user")); Add(FontIconSparklesFlyout, ImageSource.FromFile("ic_sparkles"));