问题标签 [nsshadow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
683 浏览

objective-c - NSImage -lockFocusFlipped 的奇怪问题:

我正在使用NSImage's-lockFocusFlipped:方法对图像进行一些绘图。我的代码如下所示:

这段代码在一定程度上起作用。我可以确认上下文确实被翻转了,因为[[NSGraphicsContext currentContext] isFlipped]返回YES,也因为shapeRect绘制在正确的位置(使用左上角作为原点)。也就是说,NSShadow似乎并不尊重上下文的翻转状态。将阴影偏移设置为(0, 3)应该在翻转上下文时将阴影向下移动,但实际上将其向上移动(这在标准的非翻转上下文中会发生)。

这个问题似乎特定于-lockFocusFlipped,因为当我使用相同的代码将相同的代码绘制到CALayer具有翻转坐标系的 a 中时,阴影绘制得很好(尊重翻转)。上的文档-lockFocusFlipped似乎也很模糊。NSImage这就是类文档中所说的全部内容:

使用指定的翻转状态准备图像以接收绘图命令。

我还在Snow Leopard AppKit 发行说明中找到了这个说明

在某些情况下,例如直接通过 NSLayoutManager 进行绘制,需要翻转上下文。为了涵盖这种情况,我们添加

- (void)lockFocusFlipped:(BOOL)flipped;

这不会改变图像本身的状态,只会改变焦点锁定的上下文。这意味着 (0,0) 在左上角,沿 Y 轴的正值在锁定上下文中向下。

在这种情况下,似乎没有任何文档解释NSShadow's 的行为。并且通过进一步的测试,似乎NSGradient并不尊重两者使用的绘图上下文的翻转状态NSImage

非常感谢任何见解:-)

0 投票
1 回答
398 浏览

cocoa - Desktop 中的 NSShadow 和纸张卷曲效果

我在玩这个博客的一些源代码:http: //nachbaur.com/blog/fun-shadow-effects-using-custom-calayer-shadowpaths

因为我想用阴影复制它的卷曲效果。但似乎 CALayer 的属性 shadowPath 在 OSX 中不可用,仅在 iPhone 中可用。

任何人都可以提出另一种方法来达到这种效果吗?

打赌问候

0 投票
2 回答
10347 浏览

objective-c - 带有圆角和阴影的自定义 NSView

我正在尝试创建一个带有圆角和阴影的自定义 NSView。我创建了一个 NSView 子类并具有以下 drawRect: 方法

结果是一个带有圆角的 NSView,但没有阴影(但我确实在抗锯齿中看到了角落周围的红色色调)。如果我注释掉 NSBezierPath,那么我会得到一个带有阴影的方形 NSView。我在文档中没有看到任何暗示 NSShadow 和 NSBezierPath 是互斥的,所以我显然遗漏了一些东西。

任何想法都非常感谢!

0 投票
1 回答
1529 浏览

cocoa - 使用 -setClip 方法在自定义视图上重绘插图 NSShadow

我有一个奇怪的问题,与这个问题的答案有关:

绘制插入 NSShadow 和插入描边

我将此代码用于自定义视图的 drawRect 方法。我有这个:

当我添加一个多行标签(我的自定义视图的同级或子级)时,问题就出现了。

当我的程序窗口失去焦点并且我回到它时,我的内部阴影/笔画变暗。似乎阴影叠加了。这很奇怪,因为如前所述,如果我的窗口只有这个自定义视图,它会很顺利。

如果我评论该行

阴影不再叠加,但我没有得到想要的圆角效果(类似于 NSBox)。

I tried what happens with a Push Button instead of a Multiline Label, and by losing / getting the window focus it has no problems, but when I click the button the shadow gets superimposed.

I find the problem is similar than here, but in Cocoa instead of Java:

Java setClip seems to redraw

Thanks for your help!

0 投票
1 回答
3986 浏览

objective-c - Draw NSShadow inside a NSView

I'm trying to draw a NSShadow on the background of a NSView. I want to use it as a replacement for NSGradient, as I need to support Mac OS X Tiger. How may I do that? I know this must be pretty easy and I must be making some mistake.

Thanks!

0 投票
1 回答
526 浏览

macos - NSShadow 绘图错误

嗨,在我的应用程序中,我有一个带有 CALayer 的自定义视图(我将它用于过渡动画),在该视图中我添加了一些子视图,其中一个是带有 NSTableView 的视图。NSTableView 的每个单元格都用阴影绘制它的内容。像这样的代码:

当我的 NSTableView 在 CALayer 开启的情况下少于约 50 行时,或者当我在 IB 中关闭 CALayer 时,我会像这样绘制单元格:http: //i.stack.imgur.com/zMxmK.png

但是当我的 NSTableView 有超过 50 行并且我在 IB 中打开 CALayer 时,我会像这样绘制单元格:http: //i.stack.imgur.com/IMyIP.png

怎么会这样?我打破了我的:(

0 投票
0 回答
625 浏览

cocoa - Mountain Lion 中的 NSShadow 未显示

我有一个奇怪的问题,自从升级到 10.8 后,我无法再为我的(支持图层的)视图设置阴影。

此代码片段在 10.7 Lion 中运行良好,但在操作系统升级后就不行了。

我还创建了一个测试项目,我只通过 IB 添加一个图像视图并设置这些阴影属性。这也不起作用。

我还下载了名为“CocoaSlides”的 Apple 示例代码,其中还使用了支持图层的视图和 NSShadow。它在那里工作得很好,但电话似乎和我的一样。

有没有人遇到过这个问题?你找到解决办法了吗?

0 投票
1 回答
163 浏览

objective-c - 继承 NSScrollView 的 DocumentView

如何子类化 NSScrollView 的 DocumentView 以进行一些自定义绘图?我需要在滚动视图中使用 NSShadow 做一些工作。

0 投票
1 回答
1246 浏览

objective-c - 带有自定义阴影的自定义 NSWindow

我有一个 NSWindow 子类,看起来像这样

在此处输入图像描述

困扰我的是我想改变阴影。在标准窗口上,比如这里的 Xcode,对比度有点弱。

所以我想NSShadow对它应用更强的。

我在这里找到了这个:

带有自定义阴影的 NSWindow

显然,您不应该这样做,因为 UI 应该主要由操作系统处理。但是窗口已经是完全定制的,所以我想它会没问题的。

我怎样才能做到这一点?


编辑

我忘了提,我知道我可以重绘NSWindow,但我尽量避免这种情况。

0 投票
3 回答
4405 浏览

objective-c - 如何给 NSView 添加阴影

我花了一些时间试图弄清楚如何向NSView. 现在,我正在尝试使用NSShadow该类来完成此操作。我的代码如下。我正在尝试在NSView子类的自定义 init 方法中创建阴影。无论我尝试什么,都不会出现阴影。

编辑

这是我尝试使用CALayer.

quartzPathFromBezierPath:NSBezierPatha 转换为CGPath.