Я очень новичок в разработке AVFoundation и QuartzCore, и у меня возникают проблемы с CALayers. Извините, если это глупая проблема.CALayer _layer не инициализируется при запуске приложения ?! (OSX, Cocoa)
Вот мой код:
.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
Любой вид помощи очень ценится!
проблема есть ... что playerView не ноль! Я сделал, подключить мой пин к плееру. Вот почему это для меня загадка :) –
Вы включили 'wantLayer' для этого вида? В Mac OS X вы автоматически не получаете слой так, как вы делаете на iOS ... https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreAnimation_guide/SettingUpLayerObjects/SettingUpLayerObjects.html – matt
nope ... этот, который я не знал ... где я должен это делать? ... на самом деле он говорит: для представлений, которые вы создаете программно ... Но это представление не создано программно, я настраивал его в банке , правильно?! –