问题标签 [nsview]

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 投票
2 回答
3871 浏览

objective-c - 如何在不重绘整个视图的情况下更新 NSView 的一部分

我有一个 NSView,我在其中绘制了数千个 NSBezierPaths。我想在 mousemoved 事件中突出显示(更改填充颜色)选定的一个。目前我在 mouseMoved 函数中使用以下命令:

这会强制调用 drawRect 来重绘每条路径。我想只重绘选定的一个。我尝试在 drawRect 函数中使用 addClip:

但似乎 drawRect 破坏了所有其他先前绘制的路径,并且只重绘了被裁剪的路径。

调用drawRect时是否可以不使所有视图无效?我的意思是逐步覆盖之前视图中的内容?

谢谢,卢卡

0 投票
1 回答
222 浏览

nsview - NSDockTile 可以接受鼠标事件吗?

我已经尝试将标准 NSResponder 方法添加到我与我的应用程序的 NSDockTile 一起使用的 NSView 子类中,但它不接受任何类型的事件。

有没有人成功做到这一点?是否可以?

0 投票
3 回答
1076 浏览

cocoa - NSView 中的绘图选项卡

我正在为我的应用程序实现选项卡。一切都运行良好,除了当窗口退出主状态时我无法弄清楚如何以较浅的灰色阴影绘制选项卡。我成功接收到 NSWindowDidBecomeMainNotification 并重新绘制标签栏,但我不确定如何计算标签的新灰色。我目前正在使用所有绘图的图像。我尝试在整个标签栏上方绘制一个半透明图层以使其更轻,但它似乎不起作用。我可能可以为我使用的每个图像设置一个不透明度值,但这似乎不太理想。我在 Apple 文档中也找不到任何关于此的信息。在这种情况下,最佳做法是什么?

0 投票
2 回答
675 浏览

objective-c - 自我窗口内的 NSView

我有基本的 *.xib 文件,其中有 NSView。

如何为此自定义视图使用其他 nib 文件?什么是 NSViewController,我应该如何使用它?

0 投票
0 回答
966 浏览

cocoa - NSViewController。核心动画子层不绘制

我创建 NSViewController。它管理我的视图层次结构并在一个 NSBox 中设置其他视图。

我有两种不同的观点。这些视图具有 Quartz Composer 根层和 CALayer 子层。

我运行我的应用程序,我可以替换视图,但我只查看 QCCompositionLayer。当我直接使用我的自定义 NSView 类时,没有 NSView 层次结构,我可以查看所有内容。错误在哪里?

原谅我的英语不好,谢谢

0 投票
1 回答
1816 浏览

cocoa - 可可的 NSView 得到疯狂的 mouseDown 事件?

大家好 - 我有一个 NSView 子类,我在 mouseDown 上以编程方式移动它。哪个有效,但有一个奇怪的副作用:

  1. 我单击子视图。子视图移开[GOOD]
  2. 我等一会儿。我不移动鼠标。由于子视图已移动,它不再在我的光标下。
  3. 我再次点击鼠标。
    • 我希望底层窗口能够获得 mouseDown 事件(因为子视图不再在我的光标下),但是我的子视图以某种方式获得了这个事件[ODD]
    • mouseDown 事件清楚地表明单击超出了我的子类[ODD]的范围
    • mouseDown 事件也清楚地表明点击计数已经增加,即使我在鼠标点击之间等待了几秒钟[ODD]

...必须对我所看到的做出解释。这是我的代码 - 只需创建一个名为“OddMouse”的新 Cocoa 应用程序项目,并将以下内容复制到 OddMouseAppDelegate.h 文件中:

...并将以下内容放入 OddMouseAppDelegate.m 文件中:

[[window contentView] addSubview:[[OddView alloc] init]]; } @结尾

...然后构建,然后运行,然后见证!FWIW,这是我在控制台中看到的:

0 投票
3 回答
431 浏览

cocoa - 可可的属性编辑器控件?

是否有任何 Cocoa Widget 可用于构建典型的(除了在 Interface Builder 中)GUI builder 属性检查器,如 RealBasic 或 Delphi 有?

是否有一个网站列出了其他 3rd 方 Cocoa 小部件?

0 投票
1 回答
1410 浏览

cocoa - 如何检查当前是否正在显示 NSView?

我有一个应用程序,它的主窗口中有一个 NSToolbar。根据单击的图标,此窗口中会显示 NSView。我的问题是,这些视图之一显示了 NSTableView 中的数据,每次视图可见时我都希望重新加载这些数据。由于 -init 只被调用一次,我不知道该怎么做。(例如:当应用程序启动时,它会显示 Documents 部分 [在窗口的子视图中]。现在,当我单击Employees [它显示另一个子视图而不是第一个],然后再次单击 Documents 时,我想要Documents 的 NSTableView 中的数据以重新加载。)

我怎么做?

提前致谢。

0 投票
3 回答
7604 浏览

objective-c - 将 NSImage 绘制到 NSView 子类中

到目前为止,这是我的代码(在draw rect中):

并且图像没有绘制......我不知道出了什么问题。

0 投票
2 回答
1487 浏览

cocoa - 具有全屏窗口/视图的 NSTrackingArea

我正在尝试将 NSTrackingArea 安装到全屏视图中以获取鼠标移动事件。

但是,每当我这样做时,我都会收到一个断言错误。我在网上搜索过,但没有找到任何线索。

这是设置跟踪区域的代码(x=1024,y=768):

断言发生在调用 enterFullScreenMode: withOptions: 之后

有人有什么想法吗?这不是我应该在全屏窗口中获取鼠标移动事件的方法吗?