84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
我想做一个这样的功能,把一些控件的属性设置放到一个单独的文件里,分开来,就像html和css那样,
这样写界面的时候就比较简单了
不用一大串一大串的设置属性。
现在的问题是,这个属性文件没有代码自动补全,比较麻烦,怎么样才能实现代码补全的功能?还有个问题是对属性的解释有没有什么高效的办法?一个一个属性去解析然后设置,也比较麻烦我用了kvc,但是kvc似乎不能解决所有问题
闭关修行中......
你这种文件要代码补全没有现成工具,只能自己写Xcode插件,把sdk里的所有关键字和系统方法名放进去。或者用文本编辑器,一般文本编辑器都比较方便定义自己的语法高亮和代码补全。
解释属性貌似没有什么更简便的方法。不过不需要一个一个事先定义好,可以在运行时用 respondsToSelector 或 performSelector: NSSelectorFromString(set...)来设置属性值。对css里的属性名进行首字母大写然后前面加个 "set" 就是方法名了。class_copyMethodList 可以获取某个类的所有方法。 要注意避免 crash。
respondsToSelector
performSelector: NSSelectorFromString(set...)
class_copyMethodList
你这种写css还不如直接用 autolayout , 第三方的 autolayout 可以用代码和配置文件定义约束,跟 css 定义差不多。
之前已经有人在css布局这块做了很多研究,你可以研究下他们的代码。例如 https://github.com/gavinkwoe/... 例如 https://github.com/hackers-pa... 例如 https://github.com/tolo/Inter...。Facebook之前也有个不过几年前都放弃那个项目了。
像css那样创建的话,你可以创建一堆基类即可,或者分类
你这种文件要代码补全没有现成工具,只能自己写Xcode插件,把sdk里的所有关键字和系统方法名放进去。或者用文本编辑器,一般文本编辑器都比较方便定义自己的语法高亮和代码补全。
解释属性貌似没有什么更简便的方法。不过不需要一个一个事先定义好,可以在运行时用
respondsToSelector
或performSelector: NSSelectorFromString(set...)
来设置属性值。对css里的属性名进行首字母大写然后前面加个 "set" 就是方法名了。class_copyMethodList
可以获取某个类的所有方法。 要注意避免 crash。你这种写css还不如直接用 autolayout , 第三方的 autolayout 可以用代码和配置文件定义约束,跟 css 定义差不多。
之前已经有人在css布局这块做了很多研究,你可以研究下他们的代码。例如 https://github.com/gavinkwoe/... 例如 https://github.com/hackers-pa... 例如 https://github.com/tolo/Inter...。
Facebook之前也有个不过几年前都放弃那个项目了。
像css那样创建的话,你可以创建一堆基类即可,或者分类