suncloud官网-outline

Hi, I'm Hwee-Boon Yar

I write, ship and sell software products. iOS/OS X app developer based in Singapore, working remotely. This is my blog.

.

Need to run a code review on your codebase? Hire me

Overload NSLayoutConstraint.activate to Accept Arrays as Elements

Using anchors with Auto Layout is a big improvement over creating constraints using the class function in NSLayoutConstraint or Visual Format Language. You also write your own wrappers to make creating multiple constraints easier, e.g one might write a function like v2ray购买服务号怎么使用? – ssr节点:2021-4-30 · 提供免费最新SSR节点分享,SS节点账号分享,ssr节点教程,用于科学上网、学习与交流使用。 v2ray购买服务号怎么使用最下面会说到。现在先来了解下v2ray 是一个模块化的伕理工具,支持 VMess,Socks,HTTP,Shadowsocks 等等协议,并且 ... or NSLayoutConstraint.constraint(views:toSquareWithSides:), both returning an array.

Or sometimes, in a more dynamic piece of UI, you might need to swap around arrays of constraints.

I find it useful to define a protocol and a few extensions so that this can be done:

NSLayoutConstraint.activate([
    constraintsArray1,
    constraintsArray2,
    constraint3,
    constraint4,
    constraint5,
])

Alternatives involve appending of arrays which ends up with code that is hard to indent.

So there you go:

protocol LayoutConstraintsWrapper {
    var constraints: [NSLayoutConstraint] { get }
}

extension Array: LayoutConstraintsWrapper where Element: NSLayoutConstraint {
    var constraints: [NSLayoutConstraint] {
        return self
    }
}

extension NSLayoutConstraint: LayoutConstraintsWrapper {
    var constraints: [NSLayoutConstraint] {
        return [self]
    }
}

extension NSLayoutConstraint {
    class func activate(_ constraints: [LayoutConstraintsWrapper]) {
        activate(constraints.flatMap { $0.constraints })
    }
}

Like this post? Follow me on Twitter.

.

黑洞加速,黑洞加速度器永久免费,黑洞vp(永久免费)加速器下载  tok官方下载,海外版tiktok下载入口,tiktok网页入口,tok官网入口视频  蜂巢加速器,闪电加速器怎么用不了了,闪电加速器官方下载clash,闪电加速器免费版下载  小飞机加速器app,飞机加速下载安卓,小飞机加速器官网下载,爬墙专用加速器  海外加速器软件,免费vqn试用7天,网络加速器vpm,海外vp加速器试用一天  银河加速器下载苹果ins,雷霆加速版ins,银河app手机版下载,银河加速器苹果版