【问题标题】:Visual Format String Grammar in auto layout自动布局中的视觉格式字符串语法
【发布时间】:2013-10-30 04:09:00
【问题描述】:

我想学习自动布局,看到这个official document。在视觉格式字符串语法一章,我不懂替换规则。什么是“?”而“*”是什么意思?

【问题讨论】:

  • 这些是正则表达式规则。 * 表示 0 或更多,而 ?表示 0 或 1。使用语法时不需要它,它只是展示如何格式化 VFL 字符串。
  • 同意,语法不是很重要。请看一些例子。

标签: ios ios7 autolayout


【解决方案1】:

语法的定义以EBNF的形式给出,在计算机科学中用于描述context-free grammars

具体来说,

  • ? 表示可选性,意思是 0 或 1 次重复
  • * 表示 0 次或多次重复
  • |表示另一种选择

例如

(<predicate>(,<predicate>)*)

表示&lt;predicate&gt;,后跟任意数量的,&lt;predicate&gt;,可能为0。

[<viewName>(<predicateListWithParens>)?]

表示[&lt;viewName&gt;&lt;predicateListWithParens&gt;] 或仅表示[&lt;viewName&gt;]

终于

H|V

表示HV

【讨论】:

  • 非常感谢。我明白了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 2015-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多