上篇文章向大家介紹了vfl的基本的語法點,假設對下面演示樣例不熟的童鞋,能夠前去參考。廢話不多說。我們直接來看演示樣例。
將五個大小同樣、顏色不同的view
排成一行,view
間的間隔為15px
,第乙個view
的間隔與螢幕的左邊間隔10px
,最後乙個view
的間隔與螢幕的右邊間隔也為10px
。
//依據螢幕的寬度。計算view的寬度和高度
cgfloat width = ([[uiscreen mainscreen] bounds].size
.width-2*10-4*15)/5;
cgfloat height = width;
//固定第乙個view
uiview *firstview = [uiview new];
firstview.backgroundcolor = [uicolor blackcolor];
// 將次屬性設定為no,表示將使用autolayout的方式來布局
firstview.translatesautoresizingmaskintoconstraints = no;
[self
.view addsubview:firstview];
//------使用vfl為第乙個view加入約束------
//在水平方向上,讓firstview的左邊與父檢視的左邊間隔10px,且自身寬度為width
nsarray *constraints1 = [nslayoutconstraint constraintswithvisualformat:@"h:|-10-[firstview(==width)]" options:0 metrics:@ views:nsdictionaryofvariablebindings(firstview)];
//在垂直方向上,讓firstview的上邊與父檢視的上邊間隔100px,且自身的高度為height
nsarray *constraints2 = [nslayoutconstraint constraintswithvisualformat:@"v:|-100-[firstview(==height)]" options:0 metrics:@ views:nsdictionaryofvariablebindings(firstview)];
[self
.view addconstraints:constraints1];
[self
.view addconstraints:constraints2];
//定義乙個顏色陣列
nsarray *colors = @[[uicolor redcolor],[uicolor orangecolor],[uicolor yellowcolor],[uicolor bluecolor]];
//定義乙個views陣列
nsmutablearray *views = [nsmutablearray array];
[views addobject:firstview];
for (int i = 0; i < 4; i++)
//依次給views陣列中的view使用vfl加入約束
for (int i = 1; i < views.count; i++) views:bindings];
[self
.view addconstraints:constraints];
}uiview *view1 = views[0];
for (int i = 0; i < views.count; i++)
效果截圖:
下篇演示樣例將會是使用vfl
對登入介面進行布局,喜歡我的部落格的童鞋能夠關注一波!
OpenPose校準模組和演示樣例
四 攝像機矩陣的輸出格式 五 使用不同品牌的相機 六 輸出影象的命名約定 該實驗模組進行攝像機校準 失真 攝像機內外引數提取 計算並儲存輸入影象的內在引數。該實驗建立在opencv之上,但目的是為沒有校準或計算機視覺背景的人 或像我這樣懶惰的人 簡化過程。注意 我們的目標不是擁有最好的校準工具箱,而...
記憶體損壞問題的演示樣例及分析
原文 以演示樣例 系統的講述了三種記憶體損壞的情況 全域性記憶體 棧損壞及堆損壞,以及它們產生的原因。粗略整理例如以下。即全域性變數的記憶體使用出了問題,主要還是越界。例如以下 include define max 6 int arrdata max int endval int main prin...
protobuf c應用樣例
autogen.sh configure make make install 根據協議格式生成原始碼與標頭檔案 amessage.proto 檔案內容如下 message amessage 根據amessage.proto 生成c語言標頭檔案與原始碼 protoc c c out amessage....