0

私は5つのタブを持つtabBarアプリを持っています。アプリケーションは、iOS4.3 用の以前のバージョンの Xcode でビルドされました。Xcode 4.3 からこのアプリを実行すると (基本 SDK を「最新の iOS」に変更した後)、iPhone4.3 シミュレーターでアプリは正常に動作します。しかし、このアプリを実行すると、iPhone 5.0 シミュレーターで

アプリは正常にロードされます。つまり、最初のViewコントローラーからの最初の画面が正しくロードされます。ただし、画面ではタッチが認識されません (tableView、navigationBar、toolBar で)

別の「タブ」を選択すると、タッチが認識され、他のタブからロードされた他のビューでのタッチが正常に機能します。最初のビューに戻ると、問題なく動作します。

Interface Builder で作成した tabBarControllers、navigationControllers、viewControllers には、次のコードが含まれています。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

[self.window addSubview:self.tabBarController.view];
[self.window addSubview:[self.navigationController view]];
[self.window addSubview:self.toolBar];
[self.window makeKeyAndVisible];

return YES;
}

iOS5 に必要なものが欠けていますが、それがわかりません。他の誰かが同様の問題を抱えている場合は、それを共有して解決策があれば...それは素晴らしいことです!

4

1 に答える 1

0

ちょうど私の間違いを見つけました...

application:DidFinishLaunchingWithOptions にもう少しコードがあり、アプリの他のプロパティを初期化し、コードのさらに下にコードを繰り返しました

[self.window addSubview:self.tabBarController.view];

これにより、ビューの上に別のレイヤーが作成され、ビューが応答しなくなります。

(スタックオーバーフローで答えが見つかることを知っていました:)....だから、ここに問題を投稿するとすぐに、間違いがわかりました)

于 2012-06-21T12:12:14.910 に答える