EALayout 第八节 如何在自己的工程里添加EALayout.framework
2015-08-04 16:38
369 查看
精简版DEMO : https://github.com/easycodingTop/EAExtraLiteDemo
Swift
https://github.com/easycodingTop/EALayout
Objective-C
https://github.com/easycodingTop/EALayoutLiteForOC
QQ群:454686295
====================================================
这一节讲如何嵌入到自己的工程
1. 在github下载任意一个 Demo, 将里面的 EALayout.framework 添加到自己的工程
添加好工程后,在工程 Build Settings 里, Other Linker Flags 里,添加上 -ObjC,
2. 然后执行 Demo工程目录里的 installSnippets.sh,目的是将
当前目录 CodeSnippets 里的文件
复制到 ~/Library/Developer/Xcode/UserData/CodeSnippets 目录下。
当然也可以手动复制过去。这的目的是给json添加提示。
复制完成后,重新启动一下 Xcode. (后面会讲如果自定义json里的提示)。
1. 在需要的文件里添加 import <EALayout/EALayout.h>
2. 在ViewController里定义一个变量 :
@property
(nonatomic,strong)SkinParser*
skinParser;
3. 在构造方法里添加如下代码
-(id)initWithNibName:(NSString
*)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if (
self = [superinitWithNibName:nibNameOrNil
bundle:nibBundleOrNil] )
{
//通过一个文件名创建 SkinParser, 这里我们使用了类名
//使用类名是因为我们可以将些代码写入基类,不用每个类都再写一遍
_skinParser = [SkinParsergetParserByName:NSStringFromClass([selfclass])];
//这里设置 eventTarget, 目的是在解析如 UIButton/UIControl之类的控件
//将其作为 target 绑定到控件上,在ViewController 里只需要实现具体方法即可
_skinParser.eventTarget
= self;
}
return self;
}
4. 在 loadView 里:
-(void)loadView
{
[superloadView];
[_skinParserparse:@"selfView" view:self.view];
}
SkinParser的这个方法 :
-(UIView*)parse:(NSString*)key view:(UIView*
)view;
将json里, key 对应view的描述,设置到 view上,并且返回值为该view
如果 view 参数为空,则会通过 "class"描述的类,动态创建 View实例。
5. 在 viewDidLoad 里:
-(void)viewDidLoad
{
[self.viewspUpdateLayout];
}
这里将会对 self.view 里所有view进行布局。
6. 然后添加一个资源文件,我们添加与当前 ViewController 类名同事的一个json文件。
如果 该类叫 ViewController 那么,我们添加一个叫 ViewController.json 的文件即可
========================================================================================
敬请关注下一节:
====================================================
精简版DEMO : https://github.com/easycodingTop/EAExtraLiteDemo
Swift
https://github.com/easycodingTop/EALayout
Objective-C
https://github.com/easycodingTop/EALayoutLiteForOC
QQ群:454686295
====================================================
Swift
https://github.com/easycodingTop/EALayout
Objective-C
https://github.com/easycodingTop/EALayoutLiteForOC
QQ群:454686295
====================================================
这一节讲如何嵌入到自己的工程
如何将 EALayout.framework 嵌入自己的工程
1. 在github下载任意一个 Demo, 将里面的 EALayout.framework 添加到自己的工程添加好工程后,在工程 Build Settings 里, Other Linker Flags 里,添加上 -ObjC,
2. 然后执行 Demo工程目录里的 installSnippets.sh,目的是将
当前目录 CodeSnippets 里的文件
复制到 ~/Library/Developer/Xcode/UserData/CodeSnippets 目录下。
当然也可以手动复制过去。这的目的是给json添加提示。
复制完成后,重新启动一下 Xcode. (后面会讲如果自定义json里的提示)。
如何在自己的工程里使用 EALayout.framework
1. 在需要的文件里添加 import <EALayout/EALayout.h>2. 在ViewController里定义一个变量 :
@property
(nonatomic,strong)SkinParser*
skinParser;
3. 在构造方法里添加如下代码
-(id)initWithNibName:(NSString
*)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if (
self = [superinitWithNibName:nibNameOrNil
bundle:nibBundleOrNil] )
{
//通过一个文件名创建 SkinParser, 这里我们使用了类名
//使用类名是因为我们可以将些代码写入基类,不用每个类都再写一遍
_skinParser = [SkinParsergetParserByName:NSStringFromClass([selfclass])];
//这里设置 eventTarget, 目的是在解析如 UIButton/UIControl之类的控件
//将其作为 target 绑定到控件上,在ViewController 里只需要实现具体方法即可
_skinParser.eventTarget
= self;
}
return self;
}
4. 在 loadView 里:
-(void)loadView
{
[superloadView];
[_skinParserparse:@"selfView" view:self.view];
}
SkinParser的这个方法 :
-(UIView*)parse:(NSString*)key view:(UIView*
)view;
将json里, key 对应view的描述,设置到 view上,并且返回值为该view
如果 view 参数为空,则会通过 "class"描述的类,动态创建 View实例。
5. 在 viewDidLoad 里:
-(void)viewDidLoad
{
[self.viewspUpdateLayout];
}
这里将会对 self.view 里所有view进行布局。
6. 然后添加一个资源文件,我们添加与当前 ViewController 类名同事的一个json文件。
如果 该类叫 ViewController 那么,我们添加一个叫 ViewController.json 的文件即可
========================================================================================
敬请关注下一节:
====================================================
精简版DEMO : https://github.com/easycodingTop/EAExtraLiteDemo
Swift
https://github.com/easycodingTop/EALayout
Objective-C
https://github.com/easycodingTop/EALayoutLiteForOC
QQ群:454686295
====================================================
相关文章推荐
- openwrt nodogsplash.conf文件
- glib简介入门
- Android JNI 学习之Android.mk文件
- jquery 提交表单
- jsonp使用规范
- [转]云计算研究必备——精典Google论文
- Ubuntu 14.04下NFS安装配置
- D - 小Y上学记——要迟到了!
- [多校]MZL's xor
- 2015Esri全球用户大会top10的QA
- [LeetCode]Longest Palindromic Substring
- 403错误
- [.Net码农]Type.GetProperties 方法-获取实体类 变量
- nohup 重定向的问题-- 费元星 站长
- java 解析word2007带有word中的基本格式
- 机器学习05(logistic回归)
- HDU 4000 Fruit Ninja (树状数组+组合问题)
- poj3667 线段树
- ubuntu安装oracle-jdk,切换jdk版本
- Linux内核Socket参数调优