向我的应用添加浮动视图

时间:2013-05-27 10:58:06

标签: iphone ios objective-c uiview uitabbarcontroller

我的应用程序使用UITabBarController来显示3个选项卡,每个选项卡都有一个UINavigationController来管理所有视图控制器。

我想要做的是添加一个在所有视图上方“浮动”的视图。

例如,假设我想在屏幕的左上角显示我的徽标,无论用户在哪里导航,我都希望这个徽标留在屏幕上,无论他是谁。

我想我需要将此徽标添加到UIWindow?我只是想知道这样做的最佳做法是什么?

2 个答案:

答案 0 :(得分:0)

除了导航控制器或根控制器之外,不要向Window添加任何内容。相信我,如果你这样做,你会遇到内存问题,因为Window没有发布但视图控制器是。

将该浮动视图添加到每个视图控制器,并将其作为子视图列表中的最后一项。您可以在IB中进行一次设计或逐步进行设计,并在每个屏幕上进行复制。这是我一直采取的方法,你建议的想法不会为你节省任何时间。

答案 1 :(得分:0)

事实上,当应用程序启动时,放置它的好地方就在窗口中。 E.g。

- (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;
}