您的位置:首页 > 移动开发 > IOS开发

IOS发展--他们控制的定义

2015-08-20 15:02 357 查看
有没有这样的要求,,自定义panel,里面放几个控件,在多个页面中使用此panel。

有三个观点来解决这个问题:

1.自己继承UIView写一个类,在它是在代码的形式加入需要控制。完成布局。

2.使用XIB

3.使用storyboard完毕布局

在这三中方式中,1显得高端大气上档次。哗啦哗啦敲半天。尽管我是技术控。可是也非常反感这纯粹的情怀。

3以UIViewController满足不了我的须要,用起来不太方便。(也可能非常好用。我不会用。求指点)

所以就解说一下XIB怎样自己组合实现控件,并且在这里也不讲前因后果的。循序渐进的搞半天。搞得头都晕。直接上终于使用方法。

用发分为一下三步:

1.新建一个继承自NSObject的类,用来存放自己定义的XIB中的UIView。

a.为了方便这个类中加入一个类方法

+ (id)viewFromNibByName:(NSString *)name{

FileOwner2* owner = [FileOwner2
new];

[[NSBundle
mainBundle] loadNibNamed:name
owner:owner options:nil];

return owner.view;

}

2.新建一个XIB文件。

a.设置一下XIB的大小尺寸,如图:



b.设置XIB的FileOwner为1中新建的类。



c.将View与FileOwner建立关联,这样FileOwner能够对其进行操作。





3.在其它文件使用

//载入View5

UIView* view5 = [FileOwner2
viewFromNibByName:@"View5"];

[view5
setFrame:CGRectMake(0,
400, 375,
100)];

[self.view
addSubview:view5];

总结:能够多个XIB公用一个FileOwner这样,能够通过一个FileOwner静态方法不同的名称来创建一个新的不同的panel该。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: