视图加载时执行某些操作

时间:2011-02-15 23:55:05

标签: iphone xcode ios4

我正在制作一个测验应用程序,并希望它在根据他们的分数加载时有一个“机智的评论”。例如......

得分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 个答案:

答案 0 :(得分:2)

我认为您不需要扩展UIView来执行此操作。您应该能够实现UIViewController并使用viewDidLoad方法将文本设置为当时的UILabels。

步骤如下: 1)使用UILabel创建基于视图的XIB 2)创建一个扩展UIViewController的类,其中包含UILabel的IBOutlet 3)在UIViewController中为分数添加属性 4)使XIB的拥有类成为扩展的UIViewController 5)将UILabel连接到UILabel插座 6)取消注释扩展UIViewController中的viewDidLoad方法 7)在那里做你的测试 8)在加载XIB并将其推入视图堆栈的类中,在新的UIViewController中设置score属性(在创建控制器之后并在将其推入堆栈之前) 9)出现神奇诙谐的评论!

答案 1 :(得分:0)

我认为最好的方法是你制作一个UIView的子类,它有一个UILabel(显示Q)和四个选项和两个方法的四个按钮,并以正确的方式显示Q(因为我可以猜到一些你的Q有两个选项,有些有4),第二种方法检查被点击的答案是否正确。

并创建另一个NSObject的子类,它具有很少的属性,如

NSString *问题;

NSArray * options; // [选项计数] =显示的总按钮

NSUInteger * correctOption; //正确答案的索引

现在,你的UIView子类中的第一个方法将第二个类的对象作为参数并相应地显示它;