NSWindow显示/隐藏时更新内容
问题描述:
我在my.xib文件中添加了NSWindow
元素,并在其中插入了一些元素,如imageView。然后创建类型为NSWindow
的类customNSWindow
,并将这些类分配给我创建的xib元素(NSWindow)。现在从另一个WindowController中,我需要显示/隐藏customNSWindow。这是通过给WindowController放置一个插座来完成的。NSWindow显示/隐藏时更新内容
viewController.h
@property (strong) IBOutlet NSWindow *ImageEditWindow;//(custom window)
viewController.mm
-(IBAction)ButtonClick:(id)sender {
if(! [_ImageEditWindow isVisible]){
[_ImageEditWindow makeKeyAndOrderFront:sender];
}
}
但我不知道我是怎么在ImageEditWindow
更新的形象,我不能找到办法来调用自定义类中的方法我创建了,使用_ImageEditWindow
outlet。
编辑
这里是NSWindow
自定义类CustomIKImageEditor.h
CustomIKImageEditor.mm
-(void) updateIKImage: (NSImage*)staticImageToEdit {
NSDictionary* _imageProperties;
CGImageRef source = [self CGImageCreateWithNSImage: staticImageToEdit];
_imageProperties = NULL;
[_IKImg setImage: source imageProperties: NULL];
}
答
这条线:
@property (strong) IBOutlet NSWindow *ImageEditWindow;//(custom window)
应该是:
@property (strong) IBOutlet CustomIKImageEditor *ImageEditWindow;//(custom window)
我试了一下'[_ImageEditWindow updateIKImage:staticImageToEdit]',但得到的错误消息像'不可见@interface为 'NSWindow' 宣布选择“ updateIKImage:'' – CodeDezk
我已经更新了我的问题。 – CodeDezk