gpt4 book ai didi

iphone - iOS TabBar 和导航 Controller

转载 作者:行者123 更新时间:2023-11-28 20:29:05 25 4
gpt4 key购买 nike

好的,那么我将如何执行此操作。

  1. 我有一个标签栏
  2. 在标签栏的一个 View Controller 中有两个按钮
  3. 当我点击按钮 1 时,它应该会带我到另一个屏幕,但它必须在底部有标签栏。
  4. 当我点击 button2 时,它应该会带我到另一个屏幕,但同样必须在底部有标签栏。

我试过了1. presentModalViewController - 但它只是覆盖了整个屏幕2. 将第二个屏幕作为 subview 添加到第一个屏幕。 - 这显示了我想看到的第二个 View ,底部还有标签栏。但是它不起作用。这意味着我在出现的 View 中嵌入了一个 ScrollView 等,但是当添加为 subview 时这些都不起作用3. 导航 Controller ——我认为这应该是方法,并再次尝试在 viewdidload 中添加一个新的导航 Controller ,但程序崩溃了。

 @interface SettingsViewController : UIViewController <CLLocationManagerDelegate>
@property (nonatomic,retain) UINavigationController * navigationController;

- (void)viewDidLoad
{
[super viewDidLoad];
[self.view setBackgroundColor:[[ApplicationResources applicationResources]lightGreyColour]];
self.postCodeTextField.hidden = TRUE;
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self];
[self.view addSubview:self.navigationController.view];
//self.facebookSwitch
}

那么解决方案是什么?谢谢 :)

最佳答案

presentModalViewController 正是为了覆盖整个屏幕。

您似乎希望在每个选项卡中都有一个导航 Controller ,因此每个选项卡都有自己的导航堆栈。诀窍是您应该将导航 Controller 添加到选项卡栏,然后将您的 View Controller 添加到导航 Controller 。

tabbar
|
+- navigationController1
| |
| +- myViewController1
|
+- navigationController2
|
+- myViewController2

从上面的代码来看,您似乎没有注意到 UIViewController 已经有一个名为 navigationController 的属性,因此您不应该自己声明它。

要正确设置导航 Controller ,请参阅 Tab Bar Application With Navigation Controller

myViewController1 被正确插入为 navigationController1 的 Root View Controller 时,您可以像这样轻松呈现后续 View Controller :

//in myViewController1
[self.navigationController pushViewController:myViewController3 animated:YES];

关于iphone - iOS TabBar 和导航 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12918513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com