2010-12-04 9 views
0

iPhoneでの意見について質問があります。私はXCodeのタブバーテンプレートに基づいてアプリを持っています。タブビューの1つがTableViewです。そのテーブルビューでは、ユーザーがセルの1つを選択すると、そのセルの詳細が表示されたビューをロードします。iPhoneビュー質問

今、私が持っている:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    SportsAppDelegate *appDelegate = (SportsAppDelegate *)[[UIApplication sharedApplication] delegate]; 


    // Deselect 
    [self.tableView deselectRowAtIndexPath:indexPath animated:YES]; 

//Process which one, sets an index 

    //Show detail 
    SportsGameView *detail = [[SportsGameView alloc] init]; 
    [detail setMe:index]; //sets the index that tells it which one 

    [appDelegate.window insertSubview:detail.view atIndex:0]; 
    [self.view removeFromSuperview]; 
    [detail release]; 
} 

SportsGameView(私は上にロードしようとしている1)の中で、私はこれらとUILabelsの束をinitalizeように定義setMeています。

これは実際には表示されませんが、実際には表示されません。私はそれが私の.xibと関係があると思う。私は通常どおりSportsGameViewでIBOutletsを定義し、Interface Builderでそれらをフックしました。

誰でも知っていますか?

ご迷惑をおかけして申し訳ありません。

ありがとうございます!

+0

はSportsGame UIViewのサブクラスですか?またはそれは実際にUIViewControllerのサブクラスですか? –

+0

これはUIViewControllerのサブクラスですが、私はそれを理解しました。実際にはまだ何も作っていないので、initに入れることはできません。 – Kevin

+0

大丈夫です。しかし、もしあなたがUIViewControllerを使っているなら、UINavigationControllerを使うのがはるかに簡単です。あるいは、少なくとも手動でビューを交換するのではなく、pushModalViewControllerを使うのがもっと簡単です。 –

答えて

1

insertSubview:... atIndex:0というビューを追加したくない場合は、他のすべてのサブビューの「下に」配置します。

これを上に置きたい場合は、addSubview:を使用してください。

+0

実際、私はしません。それはタブバーの上に置くことになるので... – Kevin

+0

現在、あなたは現在、*すべて*の下に置いています...あなたはビュー階層を整理して、適切なスーパービューに追加する必要があります。たぶん、その間のナビゲーションコントローラが便利だろう。私はそれが間違っているウィンドウの直接のサブビューとして感じる。 – Eiko