1

所以,我想创建一个可重用的小部件作为 xib 和子视图,可以出现在一定数量的特定屏幕上。这个小部件将有三个按钮,每个按钮都有一个动作。

我希望能够在多个视图控制器上处理这些操作。

所以说 ViewControllerA、ViewControllerD 和 ViewControllerF 可以处理三个按钮事件,每个事件都有自己的方式。

我已经创建了 nib 文件。如何将其导入特定的视图控制器,然后如何连接这些事件?

编辑:我知道我可能会通过视图控制器设置插座,但 Apple 声明 UIViewController 仅用于全屏视图,而我的小部件仅占用屏幕的一小部分。

4

2 回答 2

1

你做得对。有一件事是,iOS它不是小部件。它是一个UIView.

(对不起,我的代码中可能有任何拼写错误。我已经在 StackOverflow 中编写了自己)

按照以下步骤完成它..

1)创建xib视图后,您需要有一个UIView子类文件。例如,您的xib名字喜欢这个CustomView.xib意味着然后创建一个像这样的文件CustomView.m和CustomView.h

2) 在您的CustomView.xib中,您需要将 设置fileOwner为您的CustomView.h.

3)在你的CustomView.m文件中,会有一个类似的方法initWithFrame:在那个方法中你需要像这样加载你的xib文件

NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:self options:0];
UIView *currentView = [topLevelObjects objectAtIndex:0];
[self addSubView:currentView];

4) 快结束了。在您的任何视图控制器中,您都可以使用此 xib

CustomView *newSubView = [[CustomView alloc]initWithFrame:CGRectMake(0,0,55,67)];
[self.view addSubView:newSubView];

就是这样。。继续。。

于 2012-12-07T16:22:47.280 回答
0

您已经创建了一个 nib 文件,但请确保您还创建了将作为该 nib 文件控制器的 .h 和 .m 文件。您将不得不查找如何实现其他视图控制器可以捕获并以自己的方式执行的委托方法。这是一个很棒的教程,可帮助您开始使用自定义委托制作自定义类:链接

于 2012-12-07T15:53:17.510 回答