LayoutKit 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
LayoutKit 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
LayoutKit 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Swift 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织 LinkedIn
地区 不详
投 递 者 步影随月
适用人群 未知
收录时间 2016-08-09

软件简介

LayoutKit 是一个高性能的iOS应用视图布局库。

LayoutKit 的主要优点:

  • 速度快:性能可以与专门写的定制的布局代码相媲美,比Auto Layout快非常多;

  • 异步:在后台线程中做布局运算,所以不会干扰与用户的交互;

  • 声明性的:用不可变的数据结构声明布局,这样更容易开发、审核、调试和维护布局代码;

  • 可缓存的:布局结果都是不可变的数据结构,所以可以在后台线程中计算并缓存,可以非常大的提升性能;

而且 LayoutKit 还很好用:

  • UIKit友好:LayoutKit生成UIView,也提供适配器来方便与UITableView和UICollectionView一起使用;

  • 国际化:可以自动为从右到左的语言调整视图;

  • Swift:可以在Swift应用中使用;

  • 成熟:单元测试覆盖率超过90%,已经用于最新版的LinkedIn iOS应用;

Hello world

let image = SizeLayout<UIImageView>(width: 50, height: 50, config: { imageView in
    imageView.image = UIImage(named: "earth.jpg")
})

let label = LabelLayout(text: "Hello World!", alignment: .center)

let stack = StackLayout(
    axis: .horizontal,
    spacing: 4,
    sublayouts: [image, label])

let insets = UIEdgeInsets(top: 4, left: 4, bottom: 4, right: 8)
let helloWorld = InsetLayout(insets: insets, layout: stack)
helloWorld.arrangement().makeViews(in: rootView)
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部