问题标签 [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.
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
。
非常感谢任何见解:-)
cocoa - Desktop 中的 NSShadow 和纸张卷曲效果
我在玩这个博客的一些源代码:http: //nachbaur.com/blog/fun-shadow-effects-using-custom-calayer-shadowpaths
因为我想用阴影复制它的卷曲效果。但似乎 CALayer 的属性 shadowPath 在 OSX 中不可用,仅在 iPhone 中可用。
任何人都可以提出另一种方法来达到这种效果吗?
打赌问候
objective-c - 带有圆角和阴影的自定义 NSView
我正在尝试创建一个带有圆角和阴影的自定义 NSView。我创建了一个 NSView 子类并具有以下 drawRect: 方法
结果是一个带有圆角的 NSView,但没有阴影(但我确实在抗锯齿中看到了角落周围的红色色调)。如果我注释掉 NSBezierPath,那么我会得到一个带有阴影的方形 NSView。我在文档中没有看到任何暗示 NSShadow 和 NSBezierPath 是互斥的,所以我显然遗漏了一些东西。
任何想法都非常感谢!
cocoa - 使用 -setClip 方法在自定义视图上重绘插图 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:
Thanks for your help!
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!
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
怎么会这样?我打破了我的:(
cocoa - Mountain Lion 中的 NSShadow 未显示
我有一个奇怪的问题,自从升级到 10.8 后,我无法再为我的(支持图层的)视图设置阴影。
此代码片段在 10.7 Lion 中运行良好,但在操作系统升级后就不行了。
我还创建了一个测试项目,我只通过 IB 添加一个图像视图并设置这些阴影属性。这也不起作用。
我还下载了名为“CocoaSlides”的 Apple 示例代码,其中还使用了支持图层的视图和 NSShadow。它在那里工作得很好,但电话似乎和我的一样。
有没有人遇到过这个问题?你找到解决办法了吗?
objective-c - 继承 NSScrollView 的 DocumentView
如何子类化 NSScrollView 的 DocumentView 以进行一些自定义绘图?我需要在滚动视图中使用 NSShadow 做一些工作。
objective-c - 带有自定义阴影的自定义 NSWindow
我有一个 NSWindow 子类,看起来像这样
困扰我的是我想改变阴影。在标准窗口上,比如这里的 Xcode,对比度有点弱。
所以我想NSShadow
对它应用更强的。
我在这里找到了这个:
显然,您不应该这样做,因为 UI 应该主要由操作系统处理。但是窗口已经是完全定制的,所以我想它会没问题的。
我怎样才能做到这一点?
编辑
我忘了提,我知道我可以重绘NSWindow
,但我尽量避免这种情况。
objective-c - 如何给 NSView 添加阴影
我花了一些时间试图弄清楚如何向NSView
. 现在,我正在尝试使用NSShadow
该类来完成此操作。我的代码如下。我正在尝试在NSView
子类的自定义 init 方法中创建阴影。无论我尝试什么,都不会出现阴影。
编辑
这是我尝试使用CALayer
.
quartzPathFromBezierPath:
将NSBezierPath
a 转换为CGPath
.