首页 > 代码库 > 自动布局

自动布局

(一)系统原生态:NSLayOutconstrants:基本语法就是哪个控件的谁基于那个控件的谁的距离是多少。比较难用,太长了。

(二)VFL:可视化语言,也比较难用,原生态。

(三)Autoresizing:只能以父类作为参照,设置autoReszingMask属性,想要使用这个,还必须关闭autoLayOut,感觉也很难用。

(四)Autolayout:可以用任何控件做约束。通过约束帮我们计算控制的frame。所以用这个一般不要自己在计算frame了。

  在SB中约束会有提示: 黄色:控件frame和约束不符合。  红色:约束冲突,或者缺少必要的约束。

(五)SnipKit:在Swift中的不二之选,炒鸡好用。

 view.addSubview(textView)        textView.snp_makeConstraints { (make) in                        make.edges.equalTo(self.view)        }                view.addSubview(composeTabBar)        composeTabBar.snp_makeConstraints { (make) in                        make.bottom.leading.trailing.equalTo(self.view)            make.height.equalTo(40)        }                textView.addSubview(pictureView)        pictureView.snp_makeConstraints { (make) in                        // 距离上面100,先固定宽高            make.top.equalTo(100)            make.size.equalTo(CGSizeMake(SCREENW - 20, SCREENW - 20))            make.leading.equalTo(10)                    }

 (六)Masonry:OC中的不二之选,炒鸡好用。和snp用法一样,为啥呢。。同一群人做的吧。。

 (七)AutoLayOut动画:因为自动布局时候一般不要修改frame了,所以修改的都是约束。constraint。但是修改后是无法改变的,这时候应该先修改约束,再在动画里面调用self.view layoutIfNeed来强行改变全部布局。

 (八)SB创建后有个Use Size Classes属性,这个只是对屏幕进行分类,点击后就会出现九宫格,可以选择甚至是pad的尺寸。

 

自动布局