TZStackView, 用于 iOS 7.x 和 iOS 8.x的UIStackView副本

分享于 

5分钟阅读

GitHub

  繁體 雙語
UIStackView replica for iOS 7.x and iOS 8.x
  • 源代码名称:TZStackView
  • 源代码网址:http://www.github.com/tomvanzummeren/TZStackView
  • TZStackView源代码文档
  • TZStackView源代码下载
  • Git URL:
    git://www.github.com/tomvanzummeren/TZStackView.git
    Git Clone代码到本地:
    git clone http://www.github.com/tomvanzummeren/TZStackView
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/tomvanzummeren/TZStackView
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    TZStackView Carthage compatibleSwift 3.0.x

    9 介绍了一个称为 UIStackView wonderful的出色布局组件。 使用这个组件,可以在水平和垂直方向上很容易地对组件进行布局。 苹果推荐在尽可以能地使用 UIStackView,仅当没有办法使用 UIStackView 时,才能使用显式 NSLayoutConstraints。 这样可以节省大量锅炉板 NSLayoutConstraint 创建代码。

    我们的UIStackView 需要 ,但是我们还没有准备好让我们的应用程序需要的iOS 9 +。 同时,我们的开发人员希望在我们的应用程序中尝试这个组件 ! 这就是我创建 UIStackView 副本的原因,称为 TZStackView (。TZ = Tom van Zummeren,我的首字母缩写)。 我非常小心地创建这个组件,测试每个角落案例并与真正的 UIStackView matched的结果匹配,并带有自动的XCTestCases

    特性

    因此,这里实现不支持 support support。 iOS的开发者希望在现有应用中使用 UIStackView,而不是用代码来布局他们的组件,而不是使用 Storyboard。

    设置

    你基本上有两个选项可以将 TZStackView 包含在你的项目中:

    使用 CocoaPods

    示例 Podfile:

    source 'https://github.com/CocoaPods/Specs.git'platform :ios, "8.0"use_frameworks!
    pod "TZStackView", "1.2.0"

    不幸的是,在 Swift pod中使用CocoaPods需要 8.

    使用 Carthage

    示例 Cartfile:

    
    github"tomvanzummeren/TZStackView" ~> 1.2.0
    
    
    
    

    运行 carthage 来构建框架,并将构建的TZStackView.framework 拖到Xcode项目中。

    将文件直接拖到项目中

    或者,在下面的类中,从示例直接将( 当你想要支持 iOS 7时) 拖动到你的项目

    • TZStackView
    • TZSpacerView
    • TZStackViewAlignment
    • TZStackViewDistribution

    示例用法

    给定 view1view2 和具有内置内容大小的。和 view3,分别为 //60x60。

    let stackView =TZStackView(arrangedSubviews: [view1, view2, view3])
    stackView.distribution=. FillEquallystackView.alignment=. CenterstackView.axis=. VerticalstackView.spacing=25

    这将产生以下布局:

    TZStackView Layout example

    有关所有发行版,对齐和轴的所有其他,请参见开发人员文档的UIStackView 插件。TZStackView的工作方式和行为与 UIStackView 一样,只是不支持 Storyboard。 如果找到一个不同方式的情况,请将 Bug 报告归档。

    要通过设置或者从排列的subviews中删除视图来添加视图,只需通过在动画块( 就像 UIStackView 参考文档所描述的一样) 中调整 hidden 属性来隐藏或者显示这些视图:

    UIView.animateWithDuration(0.5, animations: {
     self.view2.hidden=true})

    TZStackView hidden animation example

    迁移到 UIStackView

    如果稍后决定使 应用程序的最低要求,那么你将希望迁移到真正的UIStackView,而不是使用这种实现。 由于 TZStackView 是替换 UIStackView的一滴,你只需替换:

    let stackView =TZStackView(arrangedSubviews: views)

    还有。

    let stackView =UIStackView(arrangedSubviews: views)

    。你也可以 ! 你不需要做任何它的他改变,所有的一切都只是在工作之前工作。

    许可证

    TZStackView是在MIT许可证下发布的。 详细信息请参阅许可证。


    rep  repl  
    相关文章