1

ログインユーザーがタブバーコントローラーでプロファイルページを表示した後、そのビューに1つのログインビューと登録ビューを作成しました。そのようにコーディングしました。

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
    if(nil != qName)
    {
        elementName = qName;
    }

    if ([elementName isEqualToString:@"ABC"]) 
    {
        //some code
    }
    else if ([elementName isEqualToString:@"DEF"])
    {
         //some code
    }
    else if ([elementName isEqualToString:@"GHI"])
    {
        //some code
    }
    else if ([elementName isEqualToString:@"JKL"])
    {
        //some code
    }
    else if ([elementName isEqualToString:@"end"])
    {
        [activityIndicator stopAnimating];

        self.tabBarController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        [self presentModalViewController:self.tabBarController animated:YES];
        [self.tabBarController release];
    }
}

成功した後、xibファイルでタブバーコントローラーとして定義されているタブバーコントローラーを呼び出しています。そのため、問題は、ユーザーがタブバーコントローラーの最初のビューに正常にログインすると、viewWillAppearメソッドが2回呼び出され、このようなコンソールでエラーが表示さUsing two-stage rotation animation is not supported when rotating more than one view controller or view controllers not the window delegate れ、登録ページでも同じコードを実行したが、iOS5.0でクラッシュして動作することです。 iOS4.0で。上記のコードにバグがありますか?、、アプリケーションなどinstagramのログインpicyouおよび登録ページメソッドを実装していpinterestます。plzは私がここで立ち往生しているのを助けます。

4

1 に答える 1

0

その理由は、意図した用途以外で UITabBarController を使用しているためです。これはルート コントローラとしてのみ使用することを意図しており、タブバーに似たものが必要な場合は、ツールバーを使用します。私は約半年前に正確な問題に悩まされていました。残念ながら、そのように使用すると、他の問題にも遭遇します。

UITabBarController クラスは UIViewController クラスを継承するため、タブ バー コントローラーには独自のビューがあり、ビュー プロパティを通じてアクセスできます。タブ バー インターフェイスを展開する場合は、このビューをウィンドウのルートとしてインストールする必要があります。他のビュー コントローラーとは異なり、タブ バー インターフェイスは別のビュー コントローラーの子としてインストールしないでください。

あなたのコードを私のものに置き換えてください:

  self.tabBarController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
  [[[UIApplication sharedApplication] keyWindow] setRootViewController:self.tabBarController];  
  [self presentModalViewController:self.tabBarController animated:YES];
  self.tabBarController.selectedIndex = 0;
于 2012-07-02T06:13:24.570 に答える