Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法禁用 NSView 子视图的剪辑?在 UIView 中有一个“剪辑子视图复选框”和支持clipToBounds属性,但我在 Cocoa 中找不到类似的东西。
clipToBounds
这是我的场景:我有一个可以在屏幕上拖动的灰点:
当用户拖动点时,我想显示背景中的上下箭头。向上箭头位于 NSView 的边界之外,其中包含点和箭头。
您可以使用该[NSView frameForAlignmentRect:]方法。它定义了用于基于约束的布局的框架。实际框架可以大得多,以便在移动视图时显示箭头。
[NSView frameForAlignmentRect:]
Cocoa 正在使用此功能来补偿阴影或视图的其他部分,这些部分不“算”为控件的实际框架。
从文档中:
基于约束的布局系统使用对齐矩形来对齐视图,而不是它们的框架。这允许自定义视图根据其内容的位置对齐,同时仍然有一个框架,其中包含他们需要在其内容周围绘制的任何装饰,例如阴影或反射。