ココアのウィンドウタイトルバーにセカンダリテキストを追加しますか?

StackOverflow https://stackoverflow.com/questions/3833241

  •  26-09-2019
  •  | 
  •  

質問

私はソフトウェアを試用期間でリリースしたいと思っていましたが、タイトルバーの右側にリンクをどのように見せて、試用版がこれに似ているかを伝える方法を疑問に思っていました。

What Coda Does.

誰かが提案がありますか?

役に立ちましたか?

解決

Windowsコンテンツビューの監督を取得し、それにカスタムビューを追加できます。ビューを正しく配置することを確認してください。サンプルコードは次のとおりです。

NSView *frameView = [[window contentView] superview];
NSRect frame = [frameView frame];

NSRect otherFrame = [otherView frame];
otherFrame.origin.x = NSMaxX( frame ) - NSWidth( otherFrame );
otherFrame.origin.y = NSMaxY( frame ) - NSHeight( otherFrame );
[otherView setFrame: otherFrame];

[frameView addSubview: otherView];

ここ otherView タイトルバーに入れたいビューです。このコードは、ツールバーボタンがある場合は機能しません。オーバーラップします。幸いなことに、[ツールバー]ボタンを取得するAPIがあります。これにより、位置を計算できます。

NSButton *toolbarButton = [window standardWindowButton: NSWindowToolbarButton];
otherFrame.origin.x = NSMinX( [toolbarButton frame] ) - NSWidth( otherFrame );

また、窓の右上隅にとどまるように、ビュー用の自動マスクが設定されていることを確認する必要があります。

[otherView setAutoresizingMask:NSViewMinXMargin | NSViewMinYMargin];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top