有没有办法禁用剪辑NSView的子视图?在UIView中有一个“剪辑子视图复选框”和支持clipToBounds
属性,但我无法在Cocoa中找到任何类似内容。
以下是我的情景:我有一个灰色点可以在屏幕上拖动:
当用户拖动点时,我想在背景中显示上下箭头。向上箭头位于带有点和箭头的NSView的边界之外。
答案 0 :(得分:2)
您可以使用[NSView frameForAlignmentRect:]
方法。它定义了用于基于约束的布局的框架。实际框架可以大得多,以便在移动视图时显示箭头。
Cocoa正在使用此功能来补偿阴影或视图的其他部分,这些部分不会“计数”为控件的实际帧。
来自文档:
基于约束的布局系统使用对齐矩形来对齐视图,而不是它们的框架。这允许自定义视图根据其内容的位置进行对齐,同时仍然具有包含他们需要在其内容周围绘制的任何装饰的框架,例如阴影或反射。