Mac OS 悬浮窗口,并且可以保持在全屏的其他应用上。

news/2025/1/15 16:09:23/

最简单的一个方法NSPanel项目下载地址

#import <Cocoa/Cocoa.h>NS_ASSUME_NONNULL_BEGIN@interface myWindow : NSPanel@endNS_ASSUME_NONNULL_END
#import "myWindow.h"@implementation myWindow- (instancetype)initWithContentRect:(NSRect)contentRectstyleMask:(NSWindowStyleMask)aStylebacking:(NSBackingStoreType)bufferingTypedefer:(BOOL)flag{self = [super initWithContentRect:contentRectstyleMask:aStylebacking:bufferingTypedefer:flag];if (self) {[self setHasShadow:YES];[self setOpaque:NO];[self setBackgroundColor:[NSColor clearColor]];[self setMovableByWindowBackground:NO];//注意[self setLevel:NSScreenSaverWindowLevel];self.styleMask = NSWindowStyleMaskBorderless | NSWindowStyleMaskNonactivatingPanel;self.animationBehavior = (CGWindowLevelForKey(NSMainMenuWindowLevel));//能加入所以活动空间以及在全屏应用上边显示self.collectionBehavior = NSWindowCollectionBehaviorCanJoinAllSpaces | NSWindowCollectionBehaviorFullScreenAuxiliary;if (@available(macOS 10.14, *)) {self.appearance  = [NSAppearance appearanceNamed:NSAppearanceNameVibrantLight];} else {// Fallback on earlier versions}[self invalidateShadow];}return self;
}- (void)setContentView:(__kindof NSView *)contentView{contentView.wantsLayer            = YES;contentView.layer.frame           = contentView.frame;contentView.layer.cornerRadius    = 5.0;contentView.layer.masksToBounds   = YES;[super setContentView:contentView];
}- (BOOL)canBecomeKeyWindow{return YES;
}- (BOOL)canBecomeMainWindow{return YES;
}@end

 


http://www.ppmy.cn/news/774561.html

相关文章

iOS关于悬浮窗口的实现

由于项目的需要&#xff0c;需要实现的一个悬浮窗口 &#xff0c;显示在整个应用界面。 思路一 另创建一个类 继承 uiwindow 设置成为 alter &#xff0c;使用 makeKeyAndVisible 显示在界面上&#xff0c; 这种方法效果在竖屏上面效果很好&#xff0c;开始的时候感觉 很不错…

ios添加全局悬浮按钮_iOS全局的悬浮窗

1.这个悬浮窗的持有者应该是比较稳定的&#xff0c;一般写在AppDelegate里面&#xff0c;KDEAISellFloatWindow继承于UIWindow&#xff0c; 关于UIWindow&#xff0c;为了保证始终悬浮在最上层&#xff0c;可以给windowLevel 设置成UIWindowLevelAlert UIWindowLevelAlert >…

IOS 应用悬浮窗

需求 在一个app应用的最顶部添加一个悬浮窗&#xff0c;就像ios系统AssistiveTouch 可以左右滑动&#xff0c;但是最终会停在左边或右边。 实现思路 在应用的视图的最顶层添加一个UIWindow&#xff0c;用这个UIWindow 充当悬浮窗&#xff0c;给UIWindow添加移动的手势监听&a…

android仿苹果悬浮窗(自动停靠、随手指滑动、返回主屏幕)

说明&#xff1a;本人写博客一来是为了方便日后查看项目&#xff0c;二来是希望能够和广大的程序猿相互交流学习&#xff0c;文章布局简单&#xff0c;如有嫌弃&#xff0c;请绕行&#xff0c;如有错误&#xff0c;请指出&#xff0c;谢谢。 实验环境&#xff1a;安卓6.0 魅族…

苹果悬浮球_买了一万块钱的苹果手机,悬浮球功能不会用?真的可惜了

苹果手机悬浮球就是大家俗称的"小白点"功能&#xff0c;虽然说现在是全面屏时代&#xff0c;大多数人都习惯了虚拟按键进行操作。也有很多快捷键功能。 但是iPhone手机小白点作为苹果手机经典功能之一&#xff0c;很多快捷功能非常实用&#xff0c;今天就来教教大家怎…

nginx七层代理和四层转发的理解

先来理解一下osi七层模型 应用层 应用层是ISO七层模型的最高层&#xff0c;它直接与用户和应用程序交互&#xff0c;提供用户与网络的接口。它包括各种应用协议&#xff0c;如HTTP、FTP、SMTP等&#xff0c;用于实现特定应用的功能和通信表示层 表示层…

hexo #01 安装

本篇主要步骤 1、前置环境2、安装 hexo3、初始化 hexo4、运行 hexo 1、前置环境 参考官网教程&#xff1a;hexo 博客系统安装前提 2、安装 hexo 这里采用官网推荐的第二种方式局部安装 hexo 包。 $ npm install hexo3、初始化 hexo 创建一个空文件夹&#xff0c;用来作为项…

进销存之“进”

进销存又称作是购销链。 进&#xff1a;指的是从询价——采购——入库&#xff0c;以及到最终的付款的过程&#xff1b; 销&#xff1a;指的是从报价——销售——出库&#xff0c;以及到最终的收款的过程&#xff1b; 存&#xff1a;指的是收料&#xff08;采购单收料、回收…