Кто-нибудь может помочь новичку в Objective C? - PullRequest
0 голосов
/ 16 декабря 2010

Я чувствую, что я здесь совершенно не в себе, я очень плохо знаком с задачей c, но меня попросили разработать приложение для iphone как часть моего универкурса. Раньше я разрабатывал сдвоенную викторину, но надеялся создать более продвинутую викторину с 3 уровнями (каждый уровень будет иметь свою викторину).

Я не знаю, как использовать UIViews, и я попробовал онлайн-учебник, чтобы помочь мне кодировать контроллер навигации. Это дает мне 3 варианта перехода в подпредставление 1, 2 или 3. Хотя все подпредставления имеют один и тот же экран, с одной меткой и кнопкой.

Пока у меня есть 3 класса, RootViewController, BasicNavigationAppDelegate и SubViewOneController.

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

Ответы [ 3 ]

1 голос
/ 16 декабря 2010

Вам нужно поискать google для примера исходного кода и посмотреть, как можно обрабатывать некоторые из представлений.Существует много способов обработки представления, будь то с помощью UINavigationController, UITabBarController и т. Д. Если вы новичок в Objective-C, то вы на самом деле не получите ответ на этот вопрос, который будет инструктировать вас, что именно делать.

Интерфейсный конструктор + контроллеры представления

Вот хороший вариант для вас: Руководство по программированию контроллеров представления

(Apple's) Справочное руководство по контроллеру представления

Некоторые примеры кода

Пример начала работы с кодом

0 голосов
/ 16 декабря 2010

Я рекомендую Head First iPhone Development: руководство для учащихся по созданию приложений Objective-C для iPhone .В течение нескольких глав вы узнаете все, что вам нужно для создания этого приложения и , вы действительно поймете, что делаете.

(я не знаю авторовили издатель, я просто думаю, что это отличная книга для быстрого освоения.)

0 голосов
/ 16 декабря 2010

для трехуровневой викторины, UINavigationController, безусловно, вариант.

если вам нужно выяснить, как использовать класс, в xcode введите его имя, затем нажмите -alt- и дважды щелкните имя класса, это вызовет краткое описание с двумя значками, одна из которых приведет вас к в файл заголовка, а другой в документацию.

чтобы добавить элементы в файлы nib / xib, вам нужно открыть окно библиотеки, где вы найдете метки, кнопки и т. Д., Чтобы использовать кнопку, вам нужно будет определить действие в файле заголовка и перехватить это в IB, чтобы иметь возможность взаимодействовать с UIElements в вашем коде, вы хотите настроить выходы в заголовочном файле и подключить их в IB.

То, что вам нужно решить, это то, как вы собираетесь представлять вопросы, а также будет зависеть, будет ли ответ верным / ложным, с множественным выбором или вводом текста.

если вы не знакомы с obj-c и xcode, вероятно, стоит взять книгу от кого-то вроде http://www.pragprog.com. у них есть Билл Дадни, у которого есть iPhone, что весьма неплохо (я думаю, он сейчас работает на яблоко.)


для стандартного сдвига вы можете использовать это. // вы, вероятно, захотите вызвать что-то вроде level1NavBarItemWasPush: вместо - (IBAction) lvl1pushNavBarItem: (id) отправитель { // создаем экземпляр класса AnswersViewController. AnswersViewController * level1AnswersVC = [[Level1AnswersViewController alloc] init];

    //pass it some kind of identifier so it can tell which quiz/question it is dealing with and pull in the answers, so that you can reuse the view
    [level1AnswersVC setAnswersObject:<<insert object dictionary here>>];

    //push the view controller onto the navigationController's view stack 
    [self.navigationController pushViewController:level1AnswersVC animated:TRUE];

    //pushing it onto the view stack has given it +1 retain, so we can now release it without worrying about it disappearing prematurely.
    [level1AnswersVC release];
 }

для перехода на другую страницу вы можете использовать это.

- (IBAction)lvl1pushNavBarItem:(id)sender {
    //create instance of AnswersViewController class.
    AnswersViewController *level1AnswersVC= [[Level1AnswersViewController alloc] init];

    //pass it some kind of identifier so it can tell which quiz/question it is dealing with and pull in the answers, so that you can reuse the view
    [level1AnswersVC setAnswersObject:<<insert object dictionary here>>];

    //set the current viewController as the delegate, so that it can call back to us when its done        
    level1AnswersVC.delegate = self;

    //set the modal transition style
level1AnswersVC.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

    //show answers as modal view, which has been setup to use the page flip transition.
[self presentModalViewController:level1AnswersVC animated:YES];

    //pushing it onto the view stack has given it +1 retain, so we can now release it without worrying about it disappearing prematurely.
    [level1AnswersVC release];
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...