Право, это не может быть возможно, но может быть, это ...Добавление UIViewControllers в UIScrollView
У меня есть 3 UIViewControllers, каждый со своими файлами XIb, которые содержат макет для каждого слайда презентации (каждый слайд будет содержать видео, изображения, другие интерактивные элементы). Я подключил их все до UIScrollView, добавляя их по одному, см ниже:
page1 *vc = [[page1 alloc] initWithNibName:@"page1" bundle:nil];
vc.view.frame = CGRectMake(0.0f, 0.0f, 1024.0f, 768.0f);
[sv addSubview:vc.view];
[vc release];
page2 *vc2 = [[page2 alloc] initWithNibName:@"page2" bundle:nil];
vc.view.frame = CGRectMake(1024.0f, 0.0f, 1024.0f, 768.0f);
[sv addSubview:vc2.view];
[vc2 release];
page3 *vc3 = [[page3 alloc] initWithNibName:@"page3" bundle:nil];
vc.view.frame = CGRectMake(2 * 1024.0f, 0.0f, 1024.0f, 768.0f);
[sv addSubview:vc3.view];
[vc3 release];
То, что я хочу быть в состоянии сделать, это создать массив UIViewController и петлю вокруг массива, чтобы добавить их, а чем один за другим. Во-первых, я не могу показаться, чтобы создать массив UIViewControllers, мой код выглядит следующим образом:
NSArray *pages = [[NSArray alloc] initWithObjects:page1, page2, page3, nil];
и ошибка: ожидается выражение перед «page1».
мне удалось загрузить в UIViewControllers со следующим кодом:
for (int i = 1; i <= 3; i++) {
UIViewController *vc = [[UIViewController alloc] initWithNibName:[NSString stringWithFormat:@"page%i", i] bundle:nil];
vc.view.frame = CGRectMake((i-1) * 1024.0f, 0.0f, 1024.0f, 768.0f);
[sv addSubview:vc.view];
[vc release];
}
Но даже если отображалось содержание от XIBs, функция viewDidLoad из загруженного в UIViewControllers никогда не увольняют.
Итак, есть ли какие-либо подсказки здесь для загрузки массива UIViewControllers в UIScrollView?
Спасибо!