我的应用程序用于UITabBarController
显示 3 个选项卡,每个选项卡都有一个UINavigationController
管理所有视图控制器的选项卡。
我想要做的是添加一个将“浮动”在所有视图之上的视图。
例如,假设我想在屏幕的左上角显示我的徽标,并且无论用户导航到哪里,无论他在哪个女巫标签上,我都希望这个徽标留在屏幕上。
我想我需要将此徽标添加到UIWindow
? 我只是想知道这样做的最佳做法是什么?
我的应用程序用于UITabBarController
显示 3 个选项卡,每个选项卡都有一个UINavigationController
管理所有视图控制器的选项卡。
我想要做的是添加一个将“浮动”在所有视图之上的视图。
例如,假设我想在屏幕的左上角显示我的徽标,并且无论用户导航到哪里,无论他在哪个女巫标签上,我都希望这个徽标留在屏幕上。
我想我需要将此徽标添加到UIWindow
? 我只是想知道这样做的最佳做法是什么?
除了导航控制器或根控制器之外,不要向窗口添加任何内容。相信我,如果你这样做,你会遇到内存问题,因为 Window 没有发布,但 View Controller 是。
将该浮动视图添加到每个视图控制器,并将其作为子视图列表中的最后一项。您可以在 IB 中设计一次或以编程方式设计它并在每个屏幕上复制它。这是我一直采用的方法,您建议的想法不会为您节省任何时间。
确实,在应用程序启动时将其放置在窗口中是一个好地方。例如
- (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;
}