【发布时间】:2012-08-17 04:14:19
【问题描述】:
有没有办法禁止裁剪 NSView 的子视图?在 UIView 中有一个“剪辑子视图复选框”和支持 clipToBounds 属性,但我在 Cocoa 中找不到类似的东西。
这是我的场景:我有一个可以拖动到屏幕上的灰点:
当用户拖动点时,我想显示背景中的上下箭头。向上箭头在 NSView 的边界之外,带有点和箭头。
【问题讨论】:
标签: nsview subview bounds clip
有没有办法禁止裁剪 NSView 的子视图?在 UIView 中有一个“剪辑子视图复选框”和支持 clipToBounds 属性,但我在 Cocoa 中找不到类似的东西。
这是我的场景:我有一个可以拖动到屏幕上的灰点:
当用户拖动点时,我想显示背景中的上下箭头。向上箭头在 NSView 的边界之外,带有点和箭头。
【问题讨论】:
标签: nsview subview bounds clip
您可以使用[NSView frameForAlignmentRect:] 方法。它定义了用于基于约束的布局的框架。实际框架可以更大,以便在移动视图时显示箭头。
Cocoa 正在使用此功能来补偿阴影或视图的其他部分,这些部分不“算”为控件的实际框架。
来自文档:
基于约束的布局系统使用对齐矩形来对齐视图,而不是它们的框架。这允许自定义视图根据其内容的位置进行对齐,同时仍然有一个框架包含他们需要在其内容周围绘制的任何装饰,例如阴影或反射。
【讨论】: