0

我已经创建了 4 个宽度为 200,高度为 200 的 xib 用于一个目的......但如果我想在一个 xib 中加载所有 xib,我不知道如何实现......我有几个想法

1.我们可以让所有的xib按数组加载吗?

2.我们可以在appdelegate.m文件中声明NSBUNDLE代码吗?..

4

1 回答 1

2

每个 xib 必须有一个类来控制它。所以你现在必须有 4 个 xib 、 4 个 .h 和 4 个 .m 文件。现在用 xib、.m 和 .h (MainViewController) 创建另一个视图控制器。现在导入所有类。在 MainController.h

#import <UIKit/UIKit.h>
#import "Xib1Class.h"
#import "Xib2Class.h"
#import "Xib3Class.h"
#import "Xib4Class.h"

@interface MainViewController : UIViewController {

    Xib1Class *xib1Class;
    Xib2Class *xib2Class;
    Xib3Class *xib3Class;
    Xib4Class *xib4Class;

}

@end

在 MainViewController.m 的 viewDidLoad

xib1Class = [[Xib1Class alloc] initWithNibName:@"Xib1Class" bundle:nil];
xib2Class = [[Xib2Class alloc] initWithNibName:@"Xib2Class" bundle:nil];
xib3Class = [[Xib3Class alloc] initWithNibName:@"Xib3Class" bundle:nil];
xib4Class = [[Xib4Class alloc] initWithNibName:@"Xib4Class" bundle:nil];

//set the frame
xib1Class.view.frame = CGRectMake(x,y,w,h);
..........
//put in main view
[self.view addSubView:xib1class.view];
//the same for 2-3-4

记得管理内存。希望这对你有帮助。

于 2012-06-17T08:21:15.093 回答