NSBox
丸みを帯びたボックスの背景を描画するのと同様のカスタム ビュー サブクラスがあります。問題は、ボックス ビューのようなビューを配置するNSTableView
と、丸みを帯びた角にクリップされないことです。NSTableView
とその親スクロール ビューの角を丸くする方法はありますか?
1563 次
1 に答える
2
テーブルビューでこれを試したことはありませんが、他のコントロールで試しました。
NSTableView のサブクラス (またはクリップしたいビュー/コントロール)
- オーバーライド
drawRect:
- 必要な形状で NSBezierPath を作成します (おそらく
appendBezierPathWithRoundedRect:xRadius:yRadius:
、ビューの境界をサイズとして使用することを忘れないでください)。 - パスに
addClip
メッセージを送信して、その形状をビューのクリッピング パスに追加します - スーパーに電話する
drawRect:
テーブル ビューにヘッダーがある場合は、NSTableHeaderView をサブクラス化して上部の角を切り取る必要がある場合があります。また、スクロールバーがある場合は、特定のコーナーのみをクリップすることを除いて、同じことを行う必要がある場合があります。スクロールバーが正しく表示されるとは思えないので、スクロールバーがないことを願っています。基本的に、その部分を描画するビュー/コントロールをクリップしたいのですが、親をクリップしてもサブビューはクリップされません。
Apple の Xcode へようこそウィンドウを見ると、上部にカスタム ヘッダーを描画し、下部にテキスト ブロックを描画することで回避できるため、テーブル ビュー自体を丸める必要はありません。あなたがそのようなことをすることができれば、私はそうします。
于 2010-12-12T01:49:35.887 に答える