天天看點

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,最近兩年應該會很少吧?當然,如果分開适配的話,那就不存在問題了。