Сделайте что-нибудь, когда представление загружается - PullRequest
0 голосов
/ 16 февраля 2011

Я создаю приложение для викторины и хочу, чтобы оно получало «остроумное замечание» при загрузке на основе их оценки. Например ...

Оценка 50 баллов: хорошая работа! Оценка 100 баллов: Вы качаетесь! Набрать 150 баллов: вы такие деньги!

И все в таком духе. Любая помощь приветствуется. Спасибо!

Примечание: последний вопрос викторины - это .xib, отличная от .xib с остроумным замечанием. Остроумное замечание будет отображаться с UILabel. И каждый раз, когда пользователь отвечает на вопрос, он добавляет к своей оценке. Я также был бы признателен за помощь в этой части, поскольку я не совсем уверен, что способ, которым я пользуюсь, - лучший способ сделать это. Вот мой код:

-(IBAction)a {

switch(questionNumber)
{
    case 0:
        question.text = @"This is question one";
        questionNumber = 1;
        myScore = myScore + 1;
        break;

    case 1:
        question.text = @"This is question two";
        answerA.text = @"Yes";
        answerB.text = @"No";
        [answerC setHidden:YES];
        [answerD setHidden:YES];
        [answerButton3 setHidden:YES];
        [answerButton4 setHidden:YES];
        questionNumber = 2;
        myScore = myScore = 2;
        break;

и т. Д. По другим вопросам.

Ответы [ 2 ]

2 голосов
/ 18 февраля 2011

Я не думаю, что вам нужно расширять UIView, чтобы сделать это.Вы должны иметь возможность реализовать UIViewController и использовать метод viewDidLoad для установки текста в UILabels в то время.

Шаги будут следующие: 1) Создайте основанный на представлении XIB с UILabel в нем 2)Создайте класс, который расширяет UIViewController с помощью IBOutlet для UILabel 3) Добавьте свойства в UIViewController для оценки 4) Сделайте класс-владелец XIB расширенным UIViewController 5) Подключите UILabel к выходу UILabel 6) Раскомментируйте метод viewDidLoad врасширенный UIViewController 7) Проведите там свои тесты 8) В классе, который загружает XIB и помещает его в стек представлений, установите свойство Score в новом UIViewController (сразу после создания контроллера и перед помещением его в стек 9).) Появляются волшебные остроумные комментарии!

0 голосов
/ 18 февраля 2011

я думаю, что лучшим подходом было бы то, что вы создадите подкласс UIView, который имеет одну UILabel (отображающую Q) и четыре кнопки для четырех опций и двух методов, и для правильного отображения Q (как я могу догадаться у вас Q имеет 2 варианта, а у некоторых - 4), а второй метод проверяет, является ли введенный ответ правильным или нет.

И создайте еще один подкласс NSObject, который имеет несколько свойств, таких как

NSString * question;

NSArray * options; // [счетчик опций] = общая кнопка для отображения

NSUInteger * correctOption; // индекс правильного ответа

Теперь первый метод в вашем подклассе UIView принимает объект этого второго класса в качестве аргумента и отображает его соответствующим образом;

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