ViewPlus 是一个小型库,它为使用 NSView 提供了一些有用的扩展和功能。
dependencies: [
.package(url: "https://github.com/ChimeHQ/ViewPlus.git")
]
github "ChimeHQ/ViewPlus"
TrackingArea
func removeTrackingArea(with rect: NSRect)
func removeTrackingAreas(_ areas: [NSTrackingArea])
func removeAllTrackingAreas()
自动布局
var useAutoLayout: Bool
var subviewsUseAutoLayout: Bool
动画
func animateLayout(changes: (NSAnimationContext) -> Void)
NSLayoutConstraint
func withPriority(_ p: NSLayoutConstraint.Priority) -> NSLayoutConstraint
NSLayoutConstraint.Priority
func offset(by: Float) -> NSLayoutConstraint.Priority
UnrestrictedLayerView
默认情况下,NSView
的 layer
属性有很多限制。许多属性由 AppKit 拥有和控制,并且无法以安全和可预测的方式进行修改。 此类提供一个名为 unrestrictedLayer
的属性,该属性没有任何限制。
此图层将仅匹配宿主视图的框架。 这是将图层集成到自动布局系统中的一种好方法。 它也适用于应用变换。
NoSelfHitTestingView
一个非常简单的视图,它永远不会因为鼠标按下事件而成为第一响应者。 这对于将点击事件路由到视图层次结构的其他部分非常方便。
XiblessViewController
这是一个非常简单的 NSViewController 子类,它消除了总是以编程方式创建视图的视图控制器的样板代码。 此类基于一篇关于 没有 XIB 的视图控制器 的博客文章, 并包含了关于这种方法的优缺点的许多精彩讨论。
我们很乐意听到您的声音! 通过 issue 或 pull request 与我们联系。
请注意,此项目已发布 贡献者行为准则。 参与此项目即表示您同意遵守其条款。