我的应用程序使用UITabBarController
来显示3个选项卡,每个选项卡都有一个UINavigationController
来管理所有视图控制器。
我想要做的是添加一个在所有视图上方“浮动”的视图。
例如,假设我想在屏幕的左上角显示我的徽标,无论用户在哪里导航,我都希望这个徽标留在屏幕上,无论他是谁。
我想我需要将此徽标添加到UIWindow
?我只是想知道这样做的最佳做法是什么?
答案 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;
}