1

UITabBarログイン成功時のインターフェースを表示したい。でインターフェースを宣言UITabBarしましAppDelegateたが、ログイン成功後にインターフェースを呼び出す方法がわかりません。

これが私のコードです:

appdelegate.m

    -(void)loadInterface
{
    [self configureiPhoneTabBar];
}

    -(void)configureiPhoneTabBar
    {
        UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
        UIViewController *controller1 = [[tabBarController viewControllers] objectAtIndex:0];
        [self configureTabBarItemWithImageName:@"home_ON.png" : @"home.png" andText:@"Trang chủ" forViewController:controller1];

        UIViewController *controller2 = [[tabBarController viewControllers] objectAtIndex:1];
        [self configureTabBarItemWithImageName:@"channel_ON.png" : @"tvChannel.png" andText:@"Kênh" forViewController:controller2];
    }

loginviewcontroller.m

- (IBAction)btnLogin:(id)sender {
    [self performSegueWithIdentifier:@"idenLogin" sender:self];
    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    [delegate loadInterface];
}

第二に、「再生」ボタンをタッチすると、レイアウトビデオが表示され、問題なく動作しますが、自動回転したい

注: これは iphone のインターフェイスで、概要でポートレートを修正しましたが、まだランドスケープを表示しています。どうすればよいですか?

私のコードのデモをダウンロードできますかここにあります

4

2 に答える 2

0

一言で言えば、ログイン画面のモーダルビューが必要です。

これが私がやった方法です(アプリデリゲートクラスから)。ストーリーボードで設計されたログイン ビューがあることに注意してください。

- (void) showLoginView
{
        assert(loginController == nil);
        assert(activityView == nil);

        UITabBarController *tabbar = (UITabBarController *)self.window.rootViewController;
        loginController = [tabbar.storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
        loginController.delegate = self;
        [tabbar presentModalViewController:loginController animated:YES];
}
于 2013-01-23T09:07:09.533 に答える
0

ウィンドウの rootViewController であるべきものを管理する WindowState などと呼ばれるオブジェクトを AppDelegate に作成します。最初はサインインまたはスプラッシュになりますが、次に WindowState クラスでチェックを実行し、通知をリッスンできます。MyAppDidSignInNotification 次に、アプリの rootViewController を UITabBarController などに変更します。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  self.windowState = [[FASWindowState alloc] initWithWindow:self.window];
  [self.window makeKeyAndVisible];

  return YES;
}
于 2013-01-23T09:15:57.003 に答える