Anchorman 3.2.0

Anchorman 3.2.0

测试已测试
Lang语言 SwiftSwift
许可 MIT
发布上次发布2020年1月
SPM支持SPM

Joe Fabisevich维护。



Anchorman 3.2.0

Anchorman

BuddyBuild Pod Version Swift Version License MIT Plaform

你认为自动布局必须很难吗?

That doesn't make any sense

不,NSLayoutAnchor相当不错!但它仍然是一个有点繁琐的API。试着多次写入translatesAutoresizingMaskIntoConstraints = falseisActive = true。但我们可以通过一个非常薄的抽象层使它变得容易一些。

I don't know what we're yelling about!

让我们从词汇课开始。


UIViewUILayoutGuide可锚定的。您可以将一个锚定到另一个,只要它生成有效的NSLayoutConstraint即可,任何您喜欢的组合。

它是怎么工作的?


我是一个酷炫的开发者,在制作一个酷炫的应用程序。它有很多视图。我想把我的视图固定到它的父视图中。

self.backgroundView.pinToSuperview()

这很简单,但我不再想固定到父视图中,我想固定到另一个视图上。

self.messageLabel.pin(to: self.backgroundView)

哦,好的。足够简单... 我的标签如何固定在父视图的左边界和右边界... 还有倍距... 并且在视图中居中。

self.titleLabel.pinToSuperview([ .leading(10.0), .trailing(10.0), .centerY ])

哇,这很酷!您可以指定您想要固定的边框组及其偏移量。Swift 枚举是最棒的!

That escalated quickly

当然,您可以将一个边框固定到另一个边框。

self.footerLabel.pin(edge: .bottom, toEdge: .bottom, of: self.view.safeAreaLayoutGuide, constant: 10.0)

最后但并非最不重要的是,为您的约束设置常量值。对于宽度,高度或两者。

self.footerLabel.set(size: .width(44.0) ])
self.titleLabel.set(size: [ .width(44.0), .height(44.0) ])

我在撒谎,还有一些其他的。Anchorman 包含了一些在 iOS 10 和 iOS 11 之间使您生活更轻松的功能。

var backwardsCompatibleSafeAreaLayoutGuide: UILayoutGuide 
var backwardsCompatibleSafeAreaInsets: UIEdgeInsets 

这些将在 iOS 11 中使用 safeAreaLayoutGuidesafeAreaInsets,以及在 iOS 10 中使用 layoutMarginsGuidelayoutMargins,因此您无需担心许多 if #available 条件。

安装

Anchorman 支持 Swift 4 的最新版本。如果您需要 Swift 3 支持,请使用 版本 2.0

您可以使用 CocoaPods 通过将 Anchorman 添加到您的 Podfile 来安装它。

platform :ios, '8.0'
use_frameworks!

pod 'Anchorman'

或者 Carthage

github "mergesort/Anchorman"

或者按照传统的老方法下载 Anchorman.swift 并将其放入您的项目中。

关于我

I'm Ron Burgundy

嗨,我是 Joe!@mergesort 在网络上的每个地方都有,尤其是在 Twitter 上。

许可证

有关如何使用 Anchorman 的更多信息,请参阅 许可证。我保证它不是 GPL,因为我不太像“那个人”。

Fin

希望 Anchorman 是你的口味,这正是我想要使用的 autolayout 库。那么,晚安,圣地亚哥。

Stay Classy San Diego