如何在MAUI程序的Mac Catalyst版本中隐藏标题栏?
在MAUI的Mac Catalyst应用中移除UIKit窗口标题栏
实现步骤
- 打开项目中MacCatalyst文件夹下的
Program.cs文件 - 自定义
AppDelegate类并重写窗口激活事件,通过UIKit API修改标题栏属性,具体代码如下:
using UIKit; namespace YourAppName.MacCatalyst; public class Program { static void Main(string[] args) { UIApplication.Main(args, null, typeof(AppDelegate)); } } public class AppDelegate : MauiUIApplicationDelegate { protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); public override void OnWindowActivated(UIApplication application, UIWindow window) { base.OnWindowActivated(application, window); // 隐藏UIKit原生标题栏 window.WindowScene.TitleBar.TitleVisibility = UITitlebarTitleVisibility.Hidden; // 可选:将标题栏背景设为透明,消除残留的栏位背景 window.WindowScene.TitleBar.BackgroundStyle = UITitlebarBackgroundStyle.Transparent; } }
关键说明
- 选择在
OnWindowActivated事件中操作,是为了确保窗口已经完成初始化,能正确获取到WindowScene对象 - 通过
WindowScene.TitleBar直接访问UIKit的标题栏实例,设置TitleVisibility为Hidden即可隐藏标题栏 - 如果需要让标题栏所在区域完全和页面融合,添加
BackgroundStyle的透明设置即可
内容的提问来源于stack exchange,提问作者undecimal
相关产品推荐
相关产品推荐

