0

ボタン コンテンツの境界線が表示されるように、ウィンドウを拡張しました。問題は、私の NSSplitView が境界線を覆っていることです。私の考えでは、分割ビューを透明にすることができました (ただし、その上のコントロールは不透明です)。

次の画像は、探しているものを示していますが、スプリッターがありません。

スプリッターがないスクリーンショット

ウィンドウの下部にボタンが表示されていることを確認してください。これは私が達成しようとしている効果ですが、運がありません。私が使用しようとしているコードは次のとおりです。

CALayer *transparentViewLayer = [CALayer layer];
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(
                                                      256.0,
                                                      256.0,
                                                      256.0,
                                                      0)]; //RGB plus Alpha Channel
[splitView setWantsLayer:YES]; // view's backing store is using a Core Animation Layer
[splitView setLayer: transparentViewLayer];

transparentViewLayer を設定しないと、次のようになります。

スプリッターだが隠れたボトムバー

スピッターを表示しますが、ウィンドウの下部バーを非表示にします。また、サブクラスNSSplitView化して以下を追加しようとしました。

- (void) drawRect: (NSRect) dirtyRect
{
    [[NSColor colorWithSRGBRed: 0.0 green: 255.0 blue: 0.0 alpha: 155.0] setFill];
    NSRectFill(dirtyRect);
} // End of drawRect

これにより、緑のスプリッターが残り、ウィンドウの下部バーにアルファがありませんでした。探している効果をどのように達成できるかについてのアイデアはありますか? (ボタンとスプリッターが表示されたボトムバーが必要です)。

4

1 に答える 1

0

サブクラスでは、オーバーライドしないでください-[NSSplitView drawRect:]。代わりに、その四角形でのみ仕切りをオーバーライド-drawDividerInRect:して描画します。クラスを思いどおりに「曲げる」場合は、常に 最初にドキュメントを参照してください。

于 2013-01-15T23:58:25.207 に答える