Как отобразить мое информационное представление в моем iApp - PullRequest
0 голосов
/ 06 августа 2010

Я пишу свое первое приложение для iPhone, тестовый пример, прежде чем я напишу свое спасительное приложение, которое поможет мне узнать, как дела на этой платформе.Поэтому я использовал стандартный виджет ModelViewController и создал свое приложение.Я поместил свой пользовательский интерфейс в представление по умолчанию и добавил весь связующий код в файлы ViewController.m / .h: обработчики событий, сопоставления IBOutlet для изменения состояния моих элементов управления и т. Д. Все это работало чудесно и не заняло много времени дляdo.

Теперь я хочу добавить информационную страницу в свое приложение.Я добавил кнопку i на свою главную страницу и сопоставил ее с пустым обработчиком toggleCreditsOpen:, а затем создал новый вид для моего проекта, "info.xib".Я открыл конструктор интерфейса и настроил свой вид по своему вкусу (хотя я бы предпочел, чтобы кредиты могли загружаться динамически, а не непосредственно в виде, я буду беспокоиться об этом позже, так как уверен, что текст легко изменить, и я просто надеюсь, что это так же легко загрузить из локализованного файла ресурсов, но это не мой вопрос).Я создал кнопку Готово в моем файле info.xib и сопоставил ее с другим обработчиком, toggleCreditsClosed.Итак, теперь у меня есть эти два пустых обработчика: один, когда нажата информационная кнопка, и один, когда нажата кнопка «Готово» в информационном окне:

- (IBAction) toggleCreditsOpen: (id) sender {
    // ???
}

- (IBAction) toggleCreditsClosed: (id) sender {
    // ???
}

Если кто-то может объяснить, что происходит в этих двух функциях,Я не буду единственной благодарностью, так как я добавлю эти инструкции в предстоящую запись в блоге, объясняющую, как это сделать, чтобы людям не приходилось врезаться головой в стол, как я, пытаясь придать последний штрих своему приложению:кредиты!

1 Ответ

0 голосов
/ 06 августа 2010

Во-первых, у вас должен быть отдельный класс контроллера представления для представления информации (наилучшая практика). И есть разные ответы на ваш вопрос в зависимости от того, как вы хотите представить информационное представление.

Если вы создали другой класс для вашего контроллера представления информации, стандартным способом является использование presentModalViewController: animated:

- (IBAction) toggleCreditsOpen: (id) sender {
    InfoViewController *info = [[InfoViewController alloc] initWithNibName:@"info" bundle:[NSBundle mainBundle]];
    [self presentModalViewController:info animated:YES];
    [info release];
}

Переместите другой метод в ваш класс InfoViewController:

- (IBAction) toggleCreditsClosed: (id) sender {
    [self.parentViewController dismissModalViewControllerAnimated: YES];
}

Так что вам нужно будет сделать два новых файла: InfoViewController.h, InfoViewController.m И вам нужно будет установить владельца файла в вашем файле info.xib класса InfoViewController (он находится на вкладке идентификации в инспекторе владельца файла), а также установить выходной вид и действие кнопки.

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