2012-03-21 12 views
0

私はログイン後、4つのタブを持つタブバーを表示し、ナビゲーションコントローラを備えたテーブルビューコントローラをロードする必要があります。ログインページは監視のコントローラです。私は最初のuiviewcontrollerにサブビューとしてtableviewcontrollerを追加しようとしました。しかし、私は上記の座標の下のビューを取得しています。座標を0,0と指定しましたが、tableviewcontrollerが座標より少し下に表示されています。私を助けてください。IBを使用せずにUIViewControllerにTableView Controllerをサブビューとして追加する方法はありますか?

enter image description here

上にブルーの背景には、まずログインビューですが、私はサブビューとして二tableviewcontrollerを追加するときには、実際の座標の下15個のピクセルを表示なっています。私を助けてください。私がどこかに間違っているかどうか知らせてください。どうもありがとう。私はtableviewcontrollerクラスを追加し、上記の文脈でサブビューとしてこれを追加しようとしました

_mainMenuViewController = [[MainMenuViewController alloc]init]; 
     [self.view addSubview:_mainMenuViewController.view]; 

...

+0

あなたはどのように追加するのですか? –

+0

座標を指定したら、ビューの 'frame'または' bounds'を参照していますか?同意して、あなたのコードを見てみましょう。 – FluffulousChimp

答えて

1

ビューコントローラは、彼らがにいるウィンドウがステータスバーを持っているかどうかを知っていると意志それに応じてビューを調整します。アップルが認可していない方法でそれらを入れ子にすると、両方のView Controllerはコンテンツを20ポイント下に移動させます。

TabBarコントローラは、ルートレベルのビューコントローラとしてのみ使用されるため、ウィンドウの直接的なサブビューとして追加します。次に、ナビゲーションコントローラをタブとして追加し、テーブルビューをナビゲーションコントローラに追加します。モーダルビューコントローラとしてログイン画面を表示します。

+0

私は、TabBarコントローラがルートレベルのView Controllerであることを理解して受け入れていますが、ここでの問題は...まず、UIViewControllerをログイン画面として使い、Tabbar Controllerをロードします。ここで私のアプリケーションでは、AppDelegateからログインビューコントローラをロードして、有効な資格情報の後にTabbarコントローラをロードする必要があります。これどうやってするの?どこでTabBarコントローラを追加したいですか? AppDelegateウィンドウにTabBarコントローラを追加すると、いつロードできますか? –

+1

タブバーコントローラーをルートビューコントローラーとして使用して、いつものようにUIを設計してください。あなたのアプリが起動したら、ログインビューコントローラをモーダルに(アニメーションではなく)表示します。ログインが成功したら、モーダルビューコントローラを閉じるだけです。 – Brian

+0

ありがとうございました...それは働いた。 –

関連する問題