aBigRoybot

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

写在最前面的, 我必须要说, IB真心没用习惯...  弄了我好久才整明白, view, controller, controller两个类和view, delegate, file's owner之间的关系...

我总结了一下:

a] 关系是这样的, 在ib里面的controller不是视图(但是我们可以把它看做视图), 为的是把controller和相关的class(*.h, *.m)联系到一起. 通常情况下, 一个xib文件对应一个controller, 这种情况(情况1), 在xib里面不用放此xib文件所对应的controller的(File's owner就是这个controller相关的*.h和*.m). 如果一个xib里面有很多种controller, 这种情况(情况2)我们就要把每个controller关联到对应的类了.

b] 视图也同理. 基本上可以理解ib帮你做了[[xxx alloc] initWithFrame]的工作, 自己不用再做这一步了, 除非是你要改变该controller的rootView的一些属性. 那样就需要定义一个属性, 并且设置为IBOutlet, 并且与IB相关联.

@property (strong, nonatomic) IBOutlet xxx * xxx;

c] 关于action的定义也是2种方法.

a.   [<control> addTarget: self action: @selector(xxx) UIControlEvents: xxx]
b.   - (IBAction) cutomizedAction: (id) sender;
//在IB里会出现这个方法, 然后对应想相应控件的相应响应事件.(好拗口啊...)

  

基本上就这样了吧, 我觉得IB没有代码生成好用. 虽然代码生成要写很多, 但是反而更加容易他人阅读代码, 控件设置都一幕了然, 就是坐标设置麻烦...

  

posted on 2011-11-14 01:26  aBigRoybot  阅读(298)  评论(0编辑  收藏  举报