2

私のアプリケーションはUITabBarController3 つのタブを表示するために使用します。各タブには、UINavigationControllerすべてのビュー コントローラーを管理する があります。

私がやりたいことは、すべてのビューの上に「フローティング」するビューを追加することです。

たとえば、画面の左上隅に自分のロゴを表示したいとします。このロゴは、ユーザーがどこに移動しても、ウィッチ タブに関係なく画面に表示されたままにしたいとします。

このロゴを に追加する必要があると思いますUIWindowか? それを行うためのベストプラクティスは何ですか?

4

2 に答える 2

0

Window には、ナビゲーション コントローラーまたはルート コントローラー以外のものを追加しないでください。ウィンドウはリリースされていませんが、ビューコントローラーはリリースされているため、これを行うとメモリの問題が発生することを信じてください。

そのフローティング ビューを各ビュー コントローラーに追加し、サブビューのリストの最後の項目として配置します。一度 IB またはプログラムで設計して、各画面に複製することができます。これは私がいつも取っているアプローチであり、提案されたアイデアは時間を節約しません.

于 2013-05-27T11:02:46.243 に答える
0

実際、アプリを起動したときのウィンドウに配置するのが適しています。例えば

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //...
    //... Setup root View Controller

    UIView *extraView = [[UIView alloc] initWithFrame:CGRectMake(0,0,10,20)];
    [extraView setBackgroundColor: [UIColor greenColor]];    

    [self.window addSubView: extraView];

    return YES;
}
于 2013-05-27T11:03:42.213 に答える