2016-09-26 170 views
0

我在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]; 
} 

回答

2

這條線:

@property (strong) IBOutlet NSWindow *ImageEditWindow;//(custom window)

應該是:

@property (strong) IBOutlet CustomIKImageEditor *ImageEditWindow;//(custom window)

+0

我試了一下'[_ImageEditWindow updateIKImage:staticImageToEdit]',但得到的錯誤消息像'不可見@interface爲 'NSWindow' 宣佈選擇「 updateIKImage:'' – CodeDezk

+0

我已經更新了我的問題。 – CodeDezk