天天看点

OC - UIStackView 的使用,纯代码方式

记得去年开发iOS 9的时候就说,有个新特性的view ---- StackView,然后就没有然后了。再后来,就把这东西给忘记了,开发中也从来没用过。今天工作做得差不多了,bug改完了,突然想起来这个遗忘了一年多的view,想想,还是看看吧,没准以后真的用到呢。

额,好吧,我还是不知道该说什么了,还是直接看代码吧。。。

// 初始化
self.stackView = [[UIStackView alloc]initWithFrame:CGRectMake(0, 64, [UIScreen mainScreen].bounds.size.width, 100)];

//属性
// 子视图间隔
self.stackView.spacing = 2;
// 布局方向 (默认横向布局)
self.stackView.axis = UILayoutConstraintAxisHorizontal;
// 子视图对齐方式 (枚举值
self.stackView.alignment = UIStackViewAlignmentFill;
// 子视图分部方式 (枚举值)
 self.stackView.distribution = UIStackViewDistributionFill;
//方法
// 将子视图,添加到 stackView 的 arrangedSubviews列表中
[self.stackView addArrangedSubview:label];
// 删除 stackView的 arrangedSubviews列表中的 view
[self.stackViewremoveArrangedSubview:lastLabel];
//插入一个视图到 stackView的 arrangedSubviews列表中
[self.stackViewinsertArrangedSubview:labelatIndex:2];
           

额,没了。。。是不是感觉很简单的样子?感觉这个view有点特殊,可以设置一下,这个view的backgroundColor为orangeColor,运行,然后奇怪的一幕发生了,是视图上,并没有出现 orangeColor 的背景色,但是看视图层级,这个view确实是存在的。至于为什么,我也不知道。而且说实话,感觉这东西,近两年用到的应该不会太多,毕竟从iOS 9开始支持的。而最低支持iOS 9的app,最近两年应该会很少吧?当然,如果分开适配的话,那就不存在问题了。