12

NSView のサブビューのクリッピングを無効にする方法はありますか? UIView には「clip subviews チェックボックス」とバッキングclipToBoundsプロパティがありますが、Cocoa では同様のものを見つけることができません。

これが私のシナリオです。画面上でドラッグできるこの灰色の点があります。

ユーザーがドットをドラッグすると、背景にある上下の矢印が表示されます。上矢印は、ドットと矢印を保持する NSView の境界の外側にあります。

4

1 に答える 1

2

メソッドを使用できます[NSView frameForAlignmentRect:]。制約ベースのレイアウトに使用されるフレームを定義します。実際のフレームは、ビューが移動したときに矢印を表示できるように、はるかに大きくすることができます。

Cocoa はこの機能を使用して、コントロールの実際のフレームとして「カウント」されないビューの影やその他の部分を補正します。

ドキュメントから:

制約ベースのレイアウト システムでは、ビューのフレームではなく、配置用の四角形を使用してビューを配置します。これにより、影や反射など、コンテンツの周りに描画する必要がある装飾を含むフレームを保持しながら、コンテンツの場所に基づいてカスタム ビューを配置できます。

于 2014-03-03T13:24:50.210 に答える