Github CI Carthage compatible

ViewPlus

ViewPlus 是一个小型库,它为使用 NSView 提供了一些有用的扩展和功能。

集成

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/ChimeHQ/ViewPlus.git")
]

Carthage

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

默认情况下,NSViewlayer 属性有很多限制。许多属性由 AppKit 拥有和控制,并且无法以安全和可预测的方式进行修改。 此类提供一个名为 unrestrictedLayer 的属性,该属性没有任何限制。

此图层将仅匹配宿主视图的框架。 这是将图层集成到自动布局系统中的一种好方法。 它也适用于应用变换。

NoSelfHitTestingView

一个非常简单的视图,它永远不会因为鼠标按下事件而成为第一响应者。 这对于将点击事件路由到视图层次结构的其他部分非常方便。

XiblessViewController

这是一个非常简单的 NSViewController 子类,它消除了总是以编程方式创建视图的视图控制器的样板代码。 此类基于一篇关于 没有 XIB 的视图控制器 的博客文章, 并包含了关于这种方法的优缺点的许多精彩讨论。

建议或反馈

我们很乐意听到您的声音! 通过 issue 或 pull request 与我们联系。

请注意,此项目已发布 贡献者行为准则。 参与此项目即表示您同意遵守其条款。