首页 > 其他分享 >【MAUI Blazor踩坑日记】6.mac标题栏颜色修改

【MAUI Blazor踩坑日记】6.mac标题栏颜色修改

时间:2023-04-30 21:11:08浏览次数:52  
标签:颜色 标题栏 window var mac backgroundColor MAUI uiWindow

MAUI中mac的标题栏颜色默认是灰白色的,有一点丑

如果我们想要自定义颜色,并且在运行时也能更改颜色,该怎么办呢

万幸从一个GitHub库中借鉴到了办法 https://github.com/BenBtg/MauiMacToolBar 这个库是自定义标题栏,如果你想自定义标题栏,而不仅仅是改变颜色,可以直接去看这个库。

第一步

Platforms/MacCatalyst文件夹下添加MacTitleBar.cs

#nullable disable
#pragma warning disable CA1416
    public static class MacTitleBar
    {
        public static void SetTitleBarColorForMac(Color backgroundColor, Color foregroundColor)
        {
            var res = Application.Current.Resources;
            res["PageBackgroundColor"] = backgroundColor;
            res["PrimaryTextColor"] = foregroundColor;
        }

        public static void InitTitleBarForMac(object sender, EventArgs e)
        {
#if MACCATALYST14_2_OR_GREATER
            var window = sender as Window;
            var uiWindow = window.Handler.PlatformView as UIKit.UIWindow;

            if (uiWindow != null)
            {
                uiWindow.WindowScene.Titlebar.TitleVisibility = UIKit.UITitlebarTitleVisibility.Hidden;
            }
#endif
        }
    }

第二步

修改App.xaml.cs

protected override Window CreateWindow(IActivationState? activationState)
        {
            Window window = base.CreateWindow(activationState);

#if MACCATALYST
            window.Created += MacTitleBar.InitTitleBarForMac;
#endif
            return window;
        }

调用

#if MACCATALYST
            var backgroundColor = Colors.White;
            var foreColor = Colors.Black;
            MacTitleBar.SetTitleBarColorForMac(backgroundColor, foreColor);
#endif

实际上,在这个uiWindow.WindowScene.Titlebar.TitleVisibility = UIKit.UITitlebarTitleVisibility.Hidden;生效之后,mac的标题栏就会显示App.xaml中<Color x:Key="PageBackgroundColor">#fff</Color>的颜色,所以我们更改PageBackgroundColor的颜色,就能改变标题栏颜色

标签:颜色,标题栏,window,var,mac,backgroundColor,MAUI,uiWindow
From: https://www.cnblogs.com/Yu-Core/p/17365766.html

相关文章

  • 开发中用的比较顺手的截图工具(windows+mac)
    让Snipaste帮你提高工作效率Snipaste是一个简单但强大的截图工具,也可以让你将截图贴回到屏幕上!下载并打开Snipaste,按下 F1 来开始截图,再按 F3,截图就在桌面置顶显示了。就这么简单!你还可以将剪贴板里的文字或者颜色信息转化为图片窗口,并且将它们进行缩放、旋转、翻转、设为半......
  • Grids for mac(Instagram客户端工具)v8.5.5免注册版
    GridsforMac是一款允许您在桌面上访问Instagram的应用程序。使用网格,您可以像在手机上一样查看您的Instagram提要、故事和探索页面。您还可以发布照片和视频,对帖子点赞和评论,以及向其他用户发送直接消息。Grids具有简洁、直观的界面,易于使用。它还提供了多种自定义选项,包......
  • mac太空射击游戏:Nova Drift (新星漂移)中文版
    NovaDrift是一款激动人心的太空射击游戏。NovaDriftMac整合了现代独立游戏风格和游戏历史上最深的根源。它不仅具有时尚和性感的外观,而且具有平稳的控制功能。玩家控制着一艘不断开发的生物机械船,面对敌人的大量奇怪而致命的疲劳,将垂死的星星驱逐出空隙。NovaDriftMac游戏介......
  • macbook air 安装 MacOS 及 win10
    前期准备mac电脑、16G的U盘、可以访问的AppStore帐号。重要提示U盘和硬盘数据格式化后不可恢复,需提前做好数据备份。安装macos需要连网。创建可引导的macOS安装器1、U盘y要求至少有14GB可用储存空间,格式化为MacOS扩展格式。2、下载macos系统镜像3、使用“终端”......
  • DaVinci Resolve Studio 18顶级达芬奇剪辑调色mac软件
    DaVinciResolveStudio18(达芬奇剪辑调色软件)Mac版是一款针对剪辑师而设计的视频编辑软件,可以用于将电影、电视、录像后期、音频制作、电影剪辑、视频编辑、数字音频编辑、视频合成等各种影视制作方法的剪辑与调色工作。DaVinciResolveStudio18(达芬奇)是一款操作简单、易学......
  • 【MAUI Blazor踩坑日记】5.macOS上的缩放比例
    macOS的页面默认比较小,原因貌似是因为符合iPad吧,这个没啥好说的,看微软文档就可以了https://learn.microsoft.com/zh-cn/dotnet/maui/mac-catalyst/user-interface-idiom?view=net-maui-7.0修改Info.plist文件<key>UIDeviceFamily</key><array><integer>1</integer>&l......
  • 【MAUI Blazor踩坑日记】4.只在特定平台上引用包
    其实这个并不是MAUI特有的问题,只是在MAUI中可能会遇到。例如某个包只在Windows上有用,但打包的时候,安卓、ios也会把这个包计算在内所以需要在不是特定平台时把它排除。万幸从微软文档找到了https://learn.microsoft.com/zh-cn/nuget/consume-packages/package-references-in-pr......
  • dell 7080m black mac bios setup
    BISO设置参考的以下帖子,改了一部分内容USBWakeSupport和WakeonLAN/WLAN保持了默认,因为我用不到网络唤醒功能。​https://github.com/3dudu/dell-optiplex-7080-hackintosh-opencore设置项   值SATAOperation   AHCIIntegratedNIC   EnabledSecureBootEnable ......
  • To build this project, the following workloads must be installed: macos问题的处
    如遇跨平台的NETSDK1147错误的处理方法:【报错提示】NETSDK1147Tobuildthisproject,thefollowingworkloadsmustbeinstalled:macosToinstalltheseworkloads,runthefollowingcommand:dotnetworkloadrestore   KristofferStrube.Blazor.SVGEditor   You......
  • iOS MachineLearning 系列(4)—— 静态图像分析之物体识别与分类
    iOSMachineLearning系列(4)——静态图像分析之物体识别与分类本系列的前几篇文件,详细了介绍了Vision框架中关于静态图片区域识别的内容。本篇文章,我们将着重介绍静态图片中物体的识别与分类。物体识别和分类也是MachineLearning领域重要的应用。通过大量的图片数据进行训练后,模型......