iPhone App Dev - загрузка вида из контроллера вида - PullRequest
0 голосов
/ 15 июля 2011

У меня есть анкета viewcontroller class. Это создает несколько контроллеров viewview (каждый вопросительный контроллер имеет ассоциированное представление).

Как мне получить анкету для загрузки этих представлений вопросов, связанных с их контроллерами представления вопросов ...

EDIT:

-(void) setQuestions{
    for (NSDictionary *q in self.questions) {       
        /* Create our Question object and populate it */
        QuestionViewController *question = [[QuestionViewController alloc]init];        
        [question setQuestionId:[q objectForKey:@"questionId"] withTitle:[q objectForKey:@"question"] number:[q objectForKey:@"questionNumber"] section:[q objectForKey:@"sectionId"]];
        /* Add it to our question (mutable) array */
        [questionArray addObject:question];
        [question release];
    }
}

Вышеупомянутый метод вызывается в методе viewDidLoad QuestionnaireViewController и там, где создаются QuestionViewControllers. Каждый из них имеет связанный вид со следующей кнопкой.

1 Ответ

0 голосов
/ 15 июля 2011

Из вашего вопроса непонятно, что вы имеете в виду, когда говорите: «Как получить вопросник для загрузки этих представлений вопросов».

Вы просто спрашиваете, как отобразить QuestionViewController при выборе вопроса?Если это так, это звучит как приложение на основе навигации.Обычно вы используете UINavigationController в качестве контроллера представления верхнего уровня в делегате приложения, устанавливая свой QuestionaireViewController в качестве rootViewController вашего UINavigationController.Затем, когда пользователь выбирает вопрос в вашем QuestionaireViewController, вы можете отобразить его контроллер с помощью:

[self.navigationController pushViewController:questionViewController animated:YES];

Если вместо этого вы спрашиваете, как вы можете отобразить представления для этих QuestionViewControllers в качестве подвидов вашего QuestionaireViewController,короткий ответ: не делайте этого (по крайней мере, в iOS 4.x).Каркас контроллера представления Apple не предназначен для поддержки использования вложенных контроллеров представления для одновременного управления несколькими подпредставлениями.В документации говорится, что каждый контроллер представления должен соответствовать одному полноэкранному представлению на iPhone.iPad слегка изменяет эти правила для таких вещей, как разделенные представления и всплывающие окна, но он все еще не предназначен для того, чтобы позволять вам вкладывать контроллеры представлений в ваши собственные настраиваемые контроллеры представлений.

(На самом деле технически возможно использовать несколько контроллеров представлений дляуправлять различными подпредставлениями на одном экране, но для правильного выполнения этого требуются экспертные знания о том, как устроена структура контроллера представления, чтобы вы могли правильно делегировать все различные методы и свойства UIViewController, такие как viewWillAppear :, navigationController, tabBarController и т. д.лучше следовать советам Apple и использовать один контроллер вида на экран.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...