- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我最近将我的 OS X 应用程序中的一个 View 转换为图层托管,并且在 Mountain Lion 下一切正常,但是我的一位测试人员提示说这些图层没有在 Snow Leopard 下显示。我已经编写了一个小型测试应用程序来执行进一步测试(源代码 here ),并且此测试应用程序在 10.6 下也不起作用。
下面是设置图层的代码主体:
- (id)initWithFrame:(NSRect)frameRect
{
NSLog(@"initWithFrame");
self = [super initWithFrame:frameRect];
if (self != nil)
{
srand((unsigned)time(NULL));
_rootLayer = [[CALayer alloc] init];
_rootLayer.delegate = self;
_rootLayer.anchorPoint = CGPointMake(0.0, 0.0);
_rootLayer.frame = NSRectToCGRect([self bounds]);
_rootLayer.needsDisplayOnBoundsChange = NO;
_rootLayer.masksToBounds = YES;
self.layer = _rootLayer;
self.wantsLayer = YES;
_backgroundLayer = [[CALayer alloc] init];
_backgroundLayer.delegate = self;
_backgroundLayer.anchorPoint = CGPointMake(0.5, 0.5);
_backgroundLayer.frame = CGRectInset(NSRectToCGRect([self bounds]), BACKGROUND_INSET, BACKGROUND_INSET);
_backgroundLayer.cornerRadius = 5.0;
_backgroundLayer.needsDisplayOnBoundsChange = NO;
_backgroundLayer.masksToBounds = YES;
[_rootLayer addSublayer:_backgroundLayer];
_mouseLayer = [self _createOtherLayer];
_mouseLayer.opacity = 0.5;
for (unsigned i = 0; i < NUM_OTHER_LAYERS; i++)
_otherLayers[i] = [self _createOtherLayer];
[_backgroundLayer addSublayer:_mouseLayer];
[_rootLayer setNeedsDisplay];
[_backgroundLayer setNeedsDisplay];
[self _positionOtherLayersInRect:frameRect];
_trackingArea = nil;
[self updateTrackingAreas];
}
return self;
}
下面是创建其他图层的方法:
- (CALayer *)_createOtherLayer
{
CALayer *layer = [[CALayer alloc] init];
layer.delegate = self;
layer.anchorPoint = CGPointMake(0.5, 0.5);
layer.bounds = CGRectMake(0.0, 0.0, 64.0, 64.0);
layer.position = CGPointMake(0.0, 0.0);
layer.needsDisplayOnBoundsChange = NO;
layer.masksToBounds = YES;
layer.shadowColor = CGColorGetConstantColor(kCGColorBlack);
layer.shadowOffset = CGSizeMake(2.0, -2.0);
layer.shadowRadius = 2.0;
layer.shadowOpacity = 1.0;
[_backgroundLayer addSublayer:layer];
[layer setNeedsDisplay];
return layer;
}
谁能提出为什么这些层在 10.6 下不起作用?
最佳答案
您是否尝试过将 initWithFrame: 中的代码移动到 awakeFromNib 中?这似乎是一个很常见的错误,导致层被搞砸了。在 this question问题是图层是在 initWithFrame 中设置的,但是由于默认情况下 Nib 被标记为不需要图层,因此它们会立即被清除。将代码移至 awakeFromNib,而不是使用传递的框架,而是使用 self.frame,看看是否能解决问题。至少它不应该更糟(在将代码移动到 awakeFromNib 之后在我的 Mac 上运行 Lion 并且它仍然工作正常,所以它没有破坏任何东西),它可能只是你正在寻找的解决方案为。
希望这能奏效,或者您很快就会找到其他解决方案。祝你有美好的一天。 :)
关于objective-c - 雪豹下不显示核心动画层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12464932/
非常简单的问题,但我似乎无法让它发挥作用。 想象一下下面的代码,为什么编译器会给我下面的错误?我已经导入了相关的头文件,包括框架。目标是 10.6。 #import - (void) snowLeo
有人在雪豹中安装 QT creator 时遇到问题吗?我已经尝试了 3 次,在不同的磁盘分区中,但没有任何效果。 它在“正在验证程序包...”中卡住,然后出现错误, 我正在尝试使用 Snow leop
这些年发布的许多应用程序都有新的 GUI 部件。iTunes 或 Twitter.app 中垂直布局的最小、最大和关闭按钮(但最新的具有默认布局),Safari 和终端中的选项卡控件,GarageBa
我正在寻找有关最新 Mac OS 10.6 上 QTJava 支持的信息。 我们正在开发的一个应用程序在 10.4 和 10.5 上都运行良好,但现在在 10.6 上运行时会出现意外的加载崩溃。 过去
升级到 Snow Leopard 后,我在构建应用程序时遇到了问题。看起来 py2app 正在通过 wxPython 构建和复制,但是当我从 buld 应用程序运行时,它找不到 wx。 最佳答案 我通
我运行的是 Mac OS X Snow Leopard 10.6。尝试进入 phpMyAdmin 时,出现以下错误: “无法加载 mcrypt 扩展。请检查您的 PHP 配置。” 有谁知道如何解决这一
所以我遵循了 this thread 中的每一个建议 没有成功。我正在运行 os x 10.6、rails 2.3.3、ruby 1.9.1,但当我尝试访问我的 rails 应用程序的首页时仍然出现此
有人在 Snow Leopard 上试过 Digitalmars D 编译器(第 2 版)吗?我想升级,但我宁愿有一个可用的 D 编译器。 最佳答案 如果您仍然不确定,请深呼吸并开始尝试: Chang
我设法在我的 macbook 上手动安装 PIL(没有包管理器,请不要回答使用 xcode,因为我想手动执行此操作)。 不需要的答案: 只需安装 xcode/pillow/use pip/etc 我正
我有一个客户来找我,因为他们在 Snow Leopard 上的 Safari 5.1.9 上的导航显示有问题。导航在所有其他浏览器上只显示 find,但在 Safari 5.1.9(仅限 Snow L
自从我升级到雪豹后,我在使用 Cucumber 运行我的功能时遇到了很多问题。 目前,每次我运行 cucumber 时都会出现以下错误。 Missing these required gems: we
我正在尝试向一个简单的 PyQt 示例的应用程序菜单栏添加一个项目。但是,以下代码似乎根本没有改变菜单栏。菜单中唯一的项目是“Python”。下面是大部分代码,减去导入和实例化。 class Main
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 8 年前。 Improve
我不确定我做错了什么。我有一个 NSTextView 并注册为其 textStorage 属性的委托(delegate)。当我收到 -textStorageDidProcessEditing:noti
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我正在安装 Koha 的依赖项。这需要使用perl和cpan,这是我第一次。我通过 hivelogic 指令安装了 mysql。我在 32 位 mac mini 上运行 10.6.2。 这是终端输出:
我正在尝试在我的 mac 机器上安装 numpy。无论我尝试什么,当我尝试运行我的 python 代码时,我最终都会收到此错误 import numpy as np File "/Library/P
我想使用 lxml 库来验证 Python 3.1.2 中的 XML 架构。 由于 Snow Leopard MAC OS 预装了 Python 2.6.1,因此我首先在 http://www.pyt
我在乱搞我的环境方面有点新手,我似乎已经打破了它。非常感谢您提供的任何帮助。 主要症状是在尝试运行 rvm install 1.9.3 时我得到以下跟踪: Installing Ruby from s
在 Mac(雪豹)上使用 PHP 和 mysql5 运行 Apache... Apache 正在运行 PHP 正在运行(工作正常) mysql正在运行(可以连接) 但是,以下代码引发错误 $link
我是一名优秀的程序员,十分优秀!