2016-11-20 8 views
0

私はOpenGLで使用するためのウィンドウを作成するのにSDLを使用しています。これはNSWindowオブジェクトだけです。特定のNSTouchBarをサポートしていない状態でNSWindowを作成した後、NSTouchBarをNSWindowにアタッチすることはできますか?

その後、NSTouchBarをそのウィンドウに関連付けるために使用できますか?

私は、ViewControllerでSDLコードを直接変更することで正常に処理しましたが、ライブラリAPIのユーザーとして、そのオプションは利用できません。

私は以前、顧客NSResponderでこれを行うことができると考えていましたが、これが有効なオプションであるとはもはや考えていません。

ありがとうございます。

答えて

1

NSWindowControllerを作成して既存のウィンドウにアタッチすると機能します。

@interface WindowController : NSWindowController <NSTouchBarDelegate> 

- (id)init:(NSWindow *) nswindow 
{ 
    self = [super initWithWindow:nswindow]; 
    return self; 
} 

- (NSTouchBar *)makeTouchBar 
{ 
     NSTouchBar *bar = [[NSTouchBar alloc] init]; 
     bar.delegate = self; 
     bar.customizationIdentifier = PopoverCustomizationIdentifier; 
     bar.defaultItemIdentifiers = @[PopoverItemIdentifier, NSTouchBarItemIdentifierOtherItemsProxy]; 
     bar.customizationAllowedItemIdentifiers = @[PopoverItemIdentifier]; 
     bar.principalItemIdentifier = PopoverItemIdentifier; 
     return bar; 
} 

あなたは、これらの機能に置くために根性のより多くの束のためのhttps://developer.apple.com/library/content/samplecode/NSTouchBarCatalog/Listings/Objective_C_NSTouchBar_Catalog_TestViewControllers_PopoverViewController_m.htmlを見ることができます。

+0

私の問題はこれに非常に似ていますが、引数として[NSApp mainWindow]を使ってWindowControllerを作成するだけでタッチバーが得られません。 https://stackoverflow.com/questions/41383194/adding-nstouchbar-support-after-main-window-has-been-createdを参照してください。 – dsvensson

関連する問題