美文网首页Mac OS开发MacOS开发 技术集锦
NSWindow私有方法调整窗口的阴影

NSWindow私有方法调整窗口的阴影

作者: Mac开发者 | 来源:发表于2018-08-08 15:12 被阅读17次

窗口的阴影大致有以下几种表现:

NSWindow默认阴影效果

但是有时候这个行为不让PM满意,遗憾的是AppKit并没有对外暴露接口以供我们更改窗口的shadow效果,但我找到了如下方法以供参考。

改变NSWindow的阴影效果相关的方法

OFFSET:

-(NSSize)_shadowOffset; //!< Titled (0, 8), Borderless (0, 4)

-(NSSize)_shadowOffsetForActiveAppearance:(BOOL)arg1;//!< 顾名思义

- (NSSize)_shadowOffsetForOptions:(unsigned long long)arg1;//!< 参数未研究

RIM:

- (NSDictionary*)_shadowRimInfo;//<! 比如 @{@"kCUIMeasureWindowFrameRimDensity" : @(0)}

OVERRALL:

- (NSDictionary*)shadowParameters;

/* 比如 Titled

    "com.apple.WindowShadowDensityActive" = "0.5";

    "com.apple.WindowShadowDensityInactive" = "0.3";

    "com.apple.WindowShadowRadiusActive" = 20;

    "com.apple.WindowShadowRadiusInactive" = 15;

    "com.apple.WindowShadowRimDensityActive" = 0;

    "com.apple.WindowShadowRimDensityInactive" = 0;

    "com.apple.WindowShadowRimStyleHardActive" = 0;

    "com.apple.WindowShadowRimStyleHardInactive" = 0;

    "com.apple.WindowShadowVerticalOffsetActive" = 24;

    "com.apple.WindowShadowVerticalOffsetInactive" = 8;

*/

REFRESH: 非必须

self.hasShadow = NO; self.hasShadow = YES; //!< or [self invalidateShadow]

效果:

点击上面图片内容查看原图

相关文章

  • NSWindow私有方法调整窗口的阴影

    窗口的阴影大致有以下几种表现: 但是有时候这个行为不让PM满意,遗憾的是AppKit并没有对外暴露接口以供我们更改...

  • Mac 开发 NSWindowStyleMaskResizabl

    NSWindow 窗口随着鼠标拖动放大缩小控制方法

  • MAC开发--仿QQ窗口抖屏效果

    01 窗口抖动 创建一个NSWindow的分类,我取名为NSWindow+Animation 自定义抖屏方法,实现...

  • 窗口NSWindow

    一.keyWindow和mainWindow 可以接收输入事件(键盘,鼠标,触控板等外设)的窗口对象称为keyWi...

  • macOS开发之自定义拖动窗口

    我们平时开发中NSWindow有个方法是可以设置点击窗口背景拖动窗口的,就是下面的这个方法,使用起来也比较方便,可...

  • NSWindow

    代码示例 styleMask:窗口风格 backing:窗口绘制的缓存模式 窗口通知 NSWindow 中的 co...

  • NSWindow(窗口对象)

    一.NSWindow NSWindow窗口是应用UI界面视图的容器,它负责接收用户的鼠标键盘等系统事件,转发消息到...

  • 01. MacOS/IOS开发,AppKit之 NSWindow

    是app显示在屏幕上的一个窗口。 Overview 概述 一个NSWindow对象最多对应一个窗口,窗口的两个主要...

  • MacOS开发笔记12-NSWindow调整窗口大小

    如果window是在storyboard里面创建的,通过以下设置固定大小无效果 通过设置是否显示改变窗口的指示器也...

  • NSWindow:Mac开发窗口跳转

    这里我将模拟QQ的登录窗口跳转到聊天窗口为例 开始: 首先我们需要在AppDelegate.h里添加一个强引用的N...

网友评论

本文标题:NSWindow私有方法调整窗口的阴影

本文链接:https://www.haomeiwen.com/subject/dprrlttx.html