каждый 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
в viewDidLoad из MainViewController.m
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
запомнить для управления памятью. Надеюсь, что это поможет.
Вы изучали раскадровки? Они представляют собой, по существу, коллекции xibs, с некоторыми причудливыми новыми функциями, такими как отсутствие необходимости в кодах навигации между ними и т. Д. Есть ли причина, по которой раскадровки не были бы вариантом? –
@ctrahey: yes ... У меня развернулось симулятор ios4.3. Я знаю, что он не поддерживает концепцию раскадровки ... – Dany