2012-04-02 10 views
0

私はXCode4とStoryboardを使って新しいiPadアプリを作成しました。私はいくつかの(5)様々なビューコントローラを持っています。クラス(HomeViewClass)を作成し、View Controllerの1つを取得し、そのクラスを「HomeViewClass」に変更し、このコードをviewDidLoadメソッドに配置しました。私はもともと非ストーリーボードプロジェクトでこれを行っていましたが、ここでは完全に動作しました...(示されているところでループしています)。私の "viewDidLoad"がループにあります

allButtons = [NSMutableArray array]; 
for(int k = 40, m = 0; m < 6; m++, k+= 42) // this controls the vertical distance between rows 
    for(int i = 0, j=182; i < 7; i++, j+=82) { // this controls the size (j) and horizontal distance 
     calendarButton *cb= [calendarButton buttonWithType:UIButtonTypeCustom]; 
     [cb makeFrame:CGRectMake(j, k, 80, 40) number: allButtons.count+1 color:[UIColor orangeColor]]; 
     //      x y w h 
     [self.view addSubview:cb]; // <------------------- causing a viewDidLoad loop 
     [allButtons addObject:cb]; // put it in the array 
    } 

これを修正するにはどうすればよいですか?

答えて

4

あなたはローカル変数にself.viewをキャッシュして、[スーパーのviewDidLoad]を呼ばれることを確認し、あなたの方法の先頭にする必要があります - >クリーン、それは今働いている

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    UIView *rootView = self.view; 

    for(int k = 40, m = 0; m < 6; m++, k+= 42) { 
     for(int i = 0, j=182; i < 7; i++, j+=82) { 
      UIButton *cb = [UIButton buttonWithType:UIButtonTypeCustom]; 

      [rootView addSubview:cb]; 
     } 
    } 
} 
+0

私は「クリーン」でしたが、もう一度やり直しています... XCodeで聞いてみましょう! – SpokaneDude

1

プロジェクトでした。

+0

もっとわかりやすい変数名を選んでください...これは私、j、k、mとは何ですか? :)例えば> http://cocoadevcentral.com/articles/000082.php私はあなたのアプリで運がいいです:) – h4cky

1

loadView関数を削除していたのはなぜですか。

関連する問題