IOS開發之自動布局--VFL語言,ios布局--vfl

來源:互聯網
上載者:User

IOS開發之自動布局--VFL語言,ios布局--vfl

前言:VFL是蘋果公司為了簡化Autolayout的編碼而推出的抽象語言。對於純程式碼發燒友,值得我們去學習和瞭解哦。

 

 

1、什麼是VFL語言

  VFL全稱是Visual Format Language,翻譯過來是“可視化格式語言”。

  

2、VFL使用樣本:

  H:[cancelButton(72)]-12-[acceptButton(50)]
  canelButton寬72,acceptButton寬50,它們之間間距12

  H:[wideView(>=60@700)]
  wideView寬度大於等於60point,該約束條件優先順序為700(優先順序最大值為1000,優先順序越高的約束越先被滿足)

  V:[redBox][yellowBox(==redBox)]
  豎直方向上,先有一個redBox,其下方緊接一個高度等於redBox高度的yellowBox

  H:|-10-[Find]-[FindNext]-[FindField(>=20)]-|
  水平方向上,Find距離父view左邊緣預設間隔寬度,之後是FindNext距離Find間隔預設寬度;

  再之後是寬度不小於20的FindField,它和FindNext以及父view右邊緣的間距都是預設寬度。(豎線“|” 表示superview的邊緣)

3、VFL的使用:

  使用VFL來建立約束數組
    + (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDictionary *)metrics views:(NSDictionary *)views;
      format :VFL語句
      opts :約束類型
      metrics :VFL語句中用到的具體數值
      views :VFL語句中用到的控制項

  建立一個字典(內部包含VFL語句中用到的控制項)的快捷宏定義
    NSDictionaryOfVariableBindings(...)
    關於這個的使用下面展示個樣本:

    

 

4、VFL的代碼練習樣本:

  需求:我們需要實現以下的效果。

    在控制器view底部添加2個view,1個藍色,1個紅色
    2個view寬度、高度永遠相等,高度等於50
    距離父控制項左邊、右邊、下邊間距和2個view之間的間距相等,等於30

    

  代碼實現:

    

    源碼百度雲下載連結: http://pan.baidu.com/s/1eS13VAa 密碼: qf1u

  展示效果(直接旋轉為橫屏):

    

  注意編碼的事項:

    

    

 轉載註明出處:http://www.cnblogs.com/goodboy-heyang/p/5359857.html ,尊重勞動成果。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.