如何在 Mac OS X 上将 CALayer 添加到 NSView

2024-02-25

我正在尝试学习如何使用和实施CALayer在 Mac Objective-C 应用程序中,但我似乎无法做最基本的事情 - 添加一个新图层并设置其背景颜色/框架大小。谁能看到我的代码有什么问题吗?

CALayer *layer = [CALayer layer];
[layer setFrame:CGRectMake(0, 0, 100, 100)];
[layer setBackgroundColor:CGColorCreateGenericRGB(1.0, 0.0, 0.0, 1.0)];
[self.layer addSublayer:layer];
[layer display];

我把这个放在- (void)drawRect:(NSRect)rect我定制的方法NSView子类,但是当我运行应用程序时,它只显示一个空白视图,没有背景颜色或我创建的图层的证据。


首先,你不想在drawRect:视图的方法,系统会自动调用该方法,您最终可能会得到比实际想要的更多的层。initWithFrame: or initWithCoder:(对于 nib 文件中的视图)是初始化图层层次结构的更好位置。

此外,NSView默认情况下没有根层(这与UIView在 iOS 上)。基本上有两种NSView使用层的s:layer-backed视图和图层-hosting意见。如果您想直接与图层交互(添加子图层等),您需要创建一个图层 -hosting view.

为此,请创建一个CALayer并调用视图的setLayer:方法。之后,致电setWantsLayer:。如果您打电话的话,订单很重要setWantsLayer:首先,您实际上创建了一个图层支持的视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Mac OS X 上将 CALayer 添加到 NSView 的相关文章

  • AFNetworking 2.0 可达性不起作用

    我在使 AFNetworking Reachability 模块正常工作时遇到一些问题 我已经使用 ReachabilityStatusChangeBlock 设置了 AFHTTPRequestOperationManager 但它从未被调
  • NSDate 休息 5 小时

    我运行以下代码 NSDate now NSDate 日期 NSLog now now 并得到 2011 09 16 16 14 16 434 iSavemore 1229 7907 现在 2011 09 16 21 14 16 0000 如
  • Objective-C 字符串文字的预处理器宏值

    我在构建设置中定义了一个预处理器宏 FOO BAR 我想将该值转换为可以传递给方法的 Objective C 字符串文字 以下 define 不起作用 但它应该展示我想要实现的目标 define FOOLITERAL FOO want FO
  • Cocoa Accessibility API,我可以单击后台窗口而不激活它吗?

    我一直在寻找解决这个问题的方法 所以我想我应该寻找比我更伟大的头脑 我正在开发一个 Cocoa 应用程序 它使用 Accessibility API 来操作另一个程序 它是一个热键应用程序 我控制的应用程序通常会打开多个窗口 其中一些窗口隐
  • WebView 不运行 loadHTMLString 中给出的 JavaScript

    我不明白为什么这不起作用 我的桌面上有一个 test htm 文件 如下所示 This is x 2 我有一个 WebVie
  • 在当前参数寄存器中找到的选择器名称:isEqual:

    我正在寻求一些帮助来消除 OSX 应用程序中的一个我无法解决的错误 我收到以下记录错误 Selector name found in current argument registers isEqual 但我一生都无法弄清楚它来自哪里 因为
  • 在 iPhone 5 的横向模式下启动启动画面

    我们的通用应用程序仅适用于横向模式 我们需要为 iPhone 4 和 iPhone 5 添加启动画面 对于 iPhone 5 的肖像 我们使用 email protected cdn cgi l email protection 如何为 i
  • 如何在pop UIViewController中删除UIParallaxDimmingView?

    我有一个UIViewController vc1这是在之后推送的UIViewController vc2 Both vc1 and vc2具有透明背景 问题 当我尝试弹出时vc2使用交互式弹出手势 从边缘平移 在我看来堆栈显得很神秘UIPa
  • 如何使用 XCode 在 iOS 应用程序中的推文中上传视频

    我是 iOS 开发新手 需要对我正在接管的 iOS 应用程序进行更改 以将视频添加到推文中 我当前的应用程序 UI 允许用户输入推文文本 但我将对其进行更改 以允许他们选择要与推文一起上传的视频 类似于 Twitter 应用程序的工作方式
  • 使用按计数分组的核心数据获取属性

    这是我想为 Core Data 编写的查询的 SQL 版本 SELECT Group Name COUNT Item Name FROM Item INNER JOIN Group ON Item GroupID Group ID GROU
  • 在 UICollectionView 下面插入子视图

    当我在 UICollectionView 下方添加子视图时 有时子视图会显示在 UICollectionView 单元格上方 这是子视图插入代码 self collectionView insertSubview self garmentV
  • 如何从 Xcode 4 中的实体创建用户界面?

    我已经用核心数据进行了几天的实验 并且在过去的几个小时里尝试找出如何从 xcode 4 中的实体创建 UI 根据我一直在阅读的书籍 您必须选择将核心数据实体拖到界面生成器中的窗口中 但是当我在 xcode 4 中执行此操作时 没有任何反应
  • 如何在 Xcode 4.2 中创建 Shell 脚本目标?

    我想知道是否有人知道 XCode 4 1 如何创建 shell 脚本 该选项不存在 但在最新版本中可能会被称为其他名称 塔 在导航器中选择您的项目 单击 添加目标 为空目标选择 聚合 添加构建阶段 gt 添加运行脚本 单击构建阶段并编辑运行
  • 使用 iPhone 控制蓝牙音频设备

    我正在寻找为 iPhone 编写应用程序 它将能够控制汽车中的收音机和 CD 播放器 收音机和播放器具有可用的蓝牙连接 我开始这个问题是为了获得这个地方所需的所有信息 我有几个问题 但如果您发现任何我没有要求的对我开始开发此应用程序不重要的
  • 如何读取 Xcode 6.1 Instruments .trace 文件?

    我一直在尝试阅读 trace文件 我使用生成的custom仪器模板 仪器 自动机 分配 Leaks using 仪器 https developer apple com library mac documentation Developer
  • 返回一个dispatch_async获取的变量[重复]

    这个问题在这里已经有答案了 基本上 一个方法需要返回一个在dispatch async中获取的NSDictionary 这是我尝试过的 NSDictionary fetchNSDictionary dispatch queue t Queu
  • 无法识别的选择器调用静态 iOS 库中的类别方法

    我正在使用一些第三方软件来帮助使用 Xcode 4 3 2 编写 iPad 应用程序 该软件是开源的 通常经过设置 因此其代码将与开发人员为应用程序编写的任何代码一起编译 因为我在很多地方使用该软件 所以我决定将其构建为 iOS 模拟器的静
  • [[NSMutableDictionary alloc] initWithObjects:...] 和 [NSMutableDictionary DictionaryWithObjects:...] 之间的区别?

    仍在学习 Objective C iPhone SDK 我想我知道为什么这不起作用 但我只是想确认一下 In awakeFromNib 如果我使用 NSMutableDictionary alloc initWithObjects 它实际上
  • 比较 Objective C 中的 NSNumber

    我是 Objective C 的初学者 对这种情况有点困惑 我有以下代码 if number1 lt number2 NSLog THE FOLLOWING NUMBER NSLog number1 NSLog IS LESS THAN N
  • Cocoa 基于文档的应用程序中的 MVC

    我目前正在对我的应用程序进行重构和重组 我意识到模型和视图及其控制器之间的一些分离已经减少 我希望进行一些清理 我的应用程序中使用了几个关键类 NSPersistentDocument NSWindowController 和模型类 NSP

随机推荐

  • Apache mod 重写简单重定向

    我希望对我的网站的请求按如下方式工作 http example com http example com 理想情况下会拉出index php文件 当前默认行为 而不显示index php http example com foo php h
  • 读取和写入长时间运行的 std::process::Child

    我有一个长时间运行的子进程 我需要读取和写入大量数据 我有一个读取器线程和一个写入器线程来操纵child stdout and child stdin分别 extern crate scoped threadpool fn main run
  • 如何通过 VBA 将选择范围扩展到整个段落

    我正在使用此代码将选择范围扩展到Word文档中的整行 现在我想将选择范围扩展到整个段落 Selection Expand wdLine 尝试使用不同的 WdUnit 例如 wdParagraph Selection Expand wdPar
  • PHP - 使图像背景透明并具有容差

    所以我将三个图像设为透明并将它们相互叠加 我按照这篇文章中的示例代码进行操作 用php删除图像背景并保存透明png https stackoverflow com questions 10751227 remove image backgr
  • C++ 带有运行路径的辅助依赖解析

    我有以下问题 我正在尝试使用默认的 gnu 编译器 gcc 7 和可用的链接器版本在 Ubuntu18 上构建软件 现在我们遇到这样的情况 一个可执行文件可以链接一个共享库 该共享库又链接另一个共享库 因此 可执行文件具有次要依赖性 但次要
  • Spring异步方法集成测试失败

    我为异步休息控制器方法创建了一个集成测试 看起来像 Test public void shouldHandleRequestsAsynchronously throws Exception MvcResult mvcResult this
  • PyInstaller 但保持 .py 文件可升级

    我已经成功地将我的 PyQt4 应用程序打包为 Windows 上的 独立 应用程序 它可以工作 然而 这个应用程序可以自我升级 这是通过用通过互联网下载的新版本替换我编写的实际代码 py 文件 来完成的 我怎样才能告诉 PyInstall
  • 如何将参数传递给通过 Assembly.CreateInstance 加载的 C# 插件?

    我现在拥有的 成功加载插件 是这样的 Assembly myDLL Assembly LoadFrom my dll IMyClass myPluginObject myDLL CreateInstance MyCorp IMyClass
  • itertools.cycle().next()?

    嗯 我正在使用itertools cycle next 方法与Python 2 6 6 但现在我更新到3 2我注意到itertools cycle 对象没有方法next 我用它来循环一个字符串spin 的方法Spinner班级 所以如果我们
  • 自定义列表定义 + 自定义内容类型 = 仅显示一个表单字段?

    尝试使用功能来部署自定义字段 内容类型和列表 到目前为止 我有一个引用自定义和内置字段的内容类型 内容类型继承 Item 0x01 现在 我创建引用内容类型和字段 内置和自定义字段 的自定义列表定义 我明确设置ShowInDisplayFo
  • 如何将 Eclipse (helios) 项目移动到不同的工作区?

    首先 Eclipse 不是我的原生 IDE 我对它还算不上熟练 我在工作区中设置了一个项目 该项目实际上位于另一个客户项目的目录中 我并没有真正遵循整个工作区 项目的情况 事实上 现在我什至找不到要打开的 Eclipse 工作区文件它 我想
  • 通过 Gradle 和 Android NDK 强制 CMake 处于详细模式

    我正在使用 Gradle 和 CMake 从命令行编译 Android NDK 项目 以前 我使用 Ant 和ndk build但我正在尝试将项目完全迁移到 Gradle 和 CMake In my build gradle我有以下几行来调
  • 为什么AWS SQS这么慢?

    我一直在测试发送消息和从 SQS 队列接收消息所需的时间 平均需要 800 1200 毫秒 这似乎是一个非常长的时间 这是我的测试代码 如果我做错了什么 请告诉我 var t0 sendMessage hello function send
  • PHP sqlsrv:从函数传递资源

    PHP 5 4 14 SQL Server 2012 SQL 客户端 2012 Windows 2008 R2 我有一个函数 简化版本如下 我调用它来运行 SQL 查询 它工作正常 连接到数据库 运行查询并获取有效资源 问题是返回的资源为空
  • Spring RESTful客户端:根标签异常

    我正在尝试按照此示例使用 RestTemplate 解析 RESTFull 调用的结果http thekspace com home component content article 57 restful clients in sprin
  • C# 在面板上绘图

    我正在制定一天的时间表 并用面板代表时间段 而约会则在顶部有更多面板 用户可以上下滚动 以便他们可以看到的范围提前或推迟 当约会超出可见范围的末尾时 我希望有一个锯齿形指示约会超出了可见范围 我已经确定了发生这种情况的情况 并调用了一个私有
  • XCode 4 中的“构建后测试”选项不起作用

    所以 我花了很长时间才弄清楚这个问题 我环顾四周 似乎找不到任何这方面的信息 我想要做的是让我的单元测试始终在每次我在 XCode 中构建代码时运行 我读过很多帖子 包括这个问题 https stackoverflow com questi
  • 使用加速度计计算距离

    在阅读了许多关于如何根据加速度数据测量距离的论坛之外的研究和论文之后 我找到了双重积分方法 但是与该方法相关的误差很大 并且随着时间的推移而增加 此外 我发现一些人建议卡尔曼滤波器 我读了一些有关它的参考资料 但我不清楚如何使用它 还有一些
  • 为各种 Typescript 输入文件定制特定的输出文件

    我有一个使用 TypeScript 的 Web 项目 它对编译的输出文件有一些相当复杂的要求 例如 我需要将一个目录中的所有 ts 文件编译为一个 js 文件 并将另一目录中的所有 ts 文件编译为不同的 js 文件 它比这更复杂 但你明白
  • 如何在 Mac OS X 上将 CALayer 添加到 NSView

    我正在尝试学习如何使用和实施CALayer在 Mac Objective C 应用程序中 但我似乎无法做最基本的事情 添加一个新图层并设置其背景颜色 框架大小 谁能看到我的代码有什么问题吗 CALayer layer CALayer lay