这是大多数移动应用程序使用的常见设计模式
+-------------------------+
| title |
+-------------------------+
| |
| |
| |
| |
| |
| |
| content |
| |
| |
| |
| |
| |
+-------------------------+
| |tab1| |tab2| |tab3| |
+-------------------------+
主要思想是当用户按下 tab1 或 tab2 或 tab3 时内容会相应地改变。
我现在正在做的(使用代码而不是 Storyboard)是制作一个 ViewController
来显示内容和底部面板,并制作一个 UINavigationController
来显示标题
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
ViewController *viewController = [[ViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:viewController];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
}
当用户按下底部选项卡更改内容 View 时,同时使用 subviews
更改内容,但我发现在更改内容时我发现:
- View 将不会以标题的高度正确开始。
- 此外,我应该将所有逻辑都写在同一个 View Controller 中,这会导致代码困惑。
如何实现这样的布局?
最佳答案
看看UITabBarController
,一个默认组件,负责在屏幕底部显示选项卡图标并自动管理选项卡之间的转换。每个选项卡也是一个独立的 View Controller ,因此您的代码更有条理。对于标题,您可以使用 UINavigationController
作为每个要有标题栏的选项卡的根 Controller
看看this answer获取分步指南。
关于ios - 使用 Objective-C iOS 制作选项卡切换布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45893319/