NSView 中 CALayers 的简单示例

2024-05-22

我正在尝试将多个 CALayer 添加到 NSView,但显示时我的视图仍然为空:

这是我的代码:

- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (self) {

    self.layer = [CALayer layer];
    self.wantsLayer = YES;
    CALayer *newLayer = [CALayer layer];
    NSImage *image = [NSImage imageNamed:@"page.png"];
    newLayer.backgroundColor = [NSColor redColor].CGColor;
    newLayer.contents = (id)[image CGImageForProposedRect:NULL context:NULL hints:nil];
    newLayer.frame = NSMakeRect(100,100,100,100);//NSMakeRect(0,0,image.size.width,image.size.height);
    newLayer.position  = CGPointMake(20,20);
    [self.layer addSublayer:newLayer];

}
return self;

}

有任何想法(或代码示例)来执行此任务吗?

感谢致敬,


设置图层的代码需要位于 awakeFromNib 方法中,而不是 initWithFrame 函数中。

解释一下原因:)

在 nib 文件中,您的视图被标记为不需要图层,因此流程是

  • 您在 initWithFrame: 方法中设置图层
  • nib 文件属性设置为清除图层。

您还可以保留代码不变,并告诉界面构建器您的自定义视图需要一个层。

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

NSView 中 CALayers 的简单示例 的相关文章

随机推荐

  • Java 泛型与类和接口 - 一起

    我想要一个 Class 对象 但我想强制它代表的任何类扩展类 A 并实现接口 B 我可以 Class
  • Yii2:如何在CheckboxList中显示选中的值

    我想在 Yii 2 0 的复选框列表中显示选中的值 以下是我的代码 主阵
  • 如何在同一线程中创建JFrame以使其阻塞?

    出于调试目的 我需要在一个简单的窗口中在屏幕上绘制图像 Swing 在单独的消息循环线程中处理所有事件 这意味着如果我执行以下操作 while true Get screenshot BufferedImage screenshot MSW
  • 带有变量 bash 的降序循环

    cat fromhere sh bin bash FROMHERE 10 for i in seq FROMHERE 1 do echo i done sh fromhere sh 为什么不起作用 我找不到任何在谷歌中搜索降序循环的示例 甚
  • Rplotly:悬停时显示图像

    我正在尝试重现this https plotly r com interactives tooltip image html显示数据点悬停图像的简单绘图 代码可用here https plotly r com supplying custo
  • 使用谷歌分析处理带有哈希#的网址

    我正在使用 javascript 客户端 mvc 开发一个 js 单页 Web 应用程序 在本例中为 angular js 我在网站上添加了谷歌分析 但从目前我所看到的 至少是实时的 来看 谷歌没有考虑哈希后的 uri 部分 那就是我有一个
  • 无法找到请求目标的有效证书路径 - java

    我正在尝试使用连接到网站Http客户端 http hc apache org httpcomponents client 4 3 x httpclient apidocs org apache http impl client Defaul
  • Spring Cloud Feign 非阻塞 I/O 或异步调用

    我正在使用 Spring 云平台开发微服务 其中 service1 调用多个其他微服务 例如service2 service3 service 4 等 这些服务可以并行调用 service1 将聚合结果 我可以使用Spring cloud
  • 适用于 Windows 的 php-fpm?

    PHP FPM 的主页http php fpm org http php fpm org 声明它是 PHP 5 3 3 以来 PHP 的一部分 现在 我想知道 当我从 php net 下载最新的 PHP 二进制文件时 其中没有 php fp
  • 如何构建任务“gems:install”

    我正在将 Rails 应用程序部署到 Linux 服务器 并且缺少一些 rake 任务 包括 rake gems install 和 rake db 我正在运行来自 GEM 的 Rails 2 3 4 为什么是这样 我该如何解决 我可以以某
  • 带种子的范围内的随机数

    我一直在努力解决这个问题 但似乎找不到简单的解决方案 我有一个动态网格布局 文章放置在网格上但具有不同的宽度和高度 这些不同文章的宽度和高度可以在访问网站时发生变化 但只有在添加新文章时才会发生变化 问题是我有使用的逻辑mt rand要生成
  • VB.NET 中的类型比较

    如何比较 VB NET 中的类型数据类型 我的代码 Private Function Equal ByVal parameter As String ByVal paramenterName As String ByVal dataType
  • 在 SWI Prolog 中使用 process_create/3 使用命令提示符或 shell 时出错

    在 Windows 7 上 当我在 SWI Prolog 中使用 process create 3 打开 Notepad exe 等应用程序时 记事本将打开 但是 它不适用于使用命令提示符的应用程序 例如 当我尝试打开命令提示符窗口时 使用
  • ADO 实体框架创建不需要的实体键

    我需要使用无法更改的数据库中的表 使用链接服务器 因此 我的架构的一部分是这些表的视图 我无法在数据库中创建 FK 当我在 ADO NET 实体框架中创建关联时 我遇到了问题 因为外部数据库表上的第二列有一个索引 并且 EF 正在为其创建一
  • 如何使用 SwiftUI 创建自定义滑块?

    我可以使用 SwiftUI 创建滑块 但无法更改滑块的样式 如下图所示 问题 我无法在 SwiftUI 中找到任何选项来更改滑块样式 注意 我想仅使用 SwiftUI 创建它 我已经在 Swift 中使用 创建了这个滑块 https git
  • Chef 节点 - 检查菜谱是否会在其上运行,并查看内部角色

    我想知道特定的配方是否会在不同配方内部的节点上运行 我可以使用 node recipe recipe name 方法 但是我的一些食谱是由角色和食谱管理的 似乎没有查看角色运行列表 有没有一种简单的方法可以确定我的 recipie redi
  • 使用 Scala 宏或反射实例化类

    在我的 scala 代码中 我希望能够实例化一个新类 例如 假设我有以下代码 class Foo def foo 10 trait Bar val bar 20 理想情况下 我希望能够做类似的事情 def newInstance A lt
  • directConnect:true 与在 Protractor 中的某个端口启动 seleniumServer

    我正在使用 Protractor 通过非角度应用程序进行端到端测试 所以一旦我在 protractor conf js 文件中编写为 exports config directConnect true Capabilities to be
  • 多维数组 (C++)

    我正在尝试将指针存储在数组中 我指向类对象的指针是 classType ClassObject 所以我知道我可以使用 new 运算符来分配它 如下所示 ClassObject new classType 100 我正在阅读一个带有标点符号的
  • NSView 中 CALayers 的简单示例

    我正在尝试将多个 CALayer 添加到 NSView 但显示时我的视图仍然为空 这是我的代码 id initWithFrame NSRect frame self super initWithFrame frame if self sel