gpt4 book ai didi

objective-c - CALayer _layer 没有在应用程序启动时初始化?! (OSX、 cocoa )

转载 作者:行者123 更新时间:2023-12-03 17:54:20 25 4
gpt4 key购买 nike

我对 AVFoundation 和 QuartzCore 开发非常陌生,并且在 CALayers 方面遇到了麻烦。如果这是一个愚蠢的问题,我很抱歉。

这是我的代码:

.h

#import <Cocoa/Cocoa.h>
#import <AVFoundation/AVFoundation.h>
#import <QuartzCore/QuartzCore.h>
@interface Document : NSPersistentDocument
{
AVPlayer *player;
AVPlayerLayer *playerLayer;
NSView *playerView;
}
@property AVPlayerLayer *playerLayer;
@property AVPlayer *player;
@property IBOutlet NSView *playerView;


@end

.m

#import "Document.h"

@implementation Document
@synthesize playerView;
@synthesize player;
@synthesize playerLayer;

- (id)init
{
self = [super init];
if (self) {
}
return self;
}

- (NSString *)windowNibName
{
return @"Document";
}

- (void)windowControllerDidLoadNib:(NSWindowController *)aController
{
[super windowControllerDidLoadNib:aController];
[[aController window] setMovableByWindowBackground:YES];

// HERE the layer is nill, and I don't understand why it's not getting initialized?!
[[[self playerView] layer] setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)];
}

+ (BOOL)autosavesInPlace
{
return YES;
}
@end

非常感谢任何形式的帮助!

最佳答案

如果layer为nil,您应该首先怀疑其父playerView为nil。是吗?如果是这样,您可能没有连接 Nib 上的 socket 。 (我看到您已声明 playerView 作为代码中的 socket ,但这并不意味着您已配置nib 正确。)

关于objective-c - CALayer _layer 没有在应用程序启动时初始化?! (OSX、 cocoa ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16070011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com