Ios 如何使用选项卡栏在视图控制器中显示不同的视图

Ios 如何使用选项卡栏在视图控制器中显示不同的视图,ios,objective-c,xamarin.ios,xamarin,Ios,Objective C,Xamarin.ios,Xamarin,我有一个视图控制器,在a选项卡栏下有一个地图视图和第二个视图。当我按下选项卡栏上的按钮时,如何更新第二个视图 我试过: LocationNotesViewController lnvc = new LocationNotesViewController(); lnvc.View.Frame = MainPageTabBarView.Frame; MainPageTabBarView = lnvc.View; 没有发生任何事情…视图不会更新 当用户单击选项卡栏时,我想用不同的内容更新第二个视图

我有一个视图控制器,在a选项卡栏下有一个地图视图和第二个视图。当我按下选项卡栏上的按钮时,如何更新第二个视图

我试过:

LocationNotesViewController lnvc = new LocationNotesViewController();
lnvc.View.Frame = MainPageTabBarView.Frame;
MainPageTabBarView = lnvc.View;
没有发生任何事情…视图不会更新


当用户单击选项卡栏时,我想用不同的内容更新第二个视图…

要切换UIViewController,请使用以下代码:

UIViewController *viewController = 
                 [self.storyboard instantiateViewControllerWithIdentifier:@"4"];
                 [self presentViewController:a animated:YES completion:nil];

如果将UIView放在任何需要显示的数据的基础上,则可以使用选项卡栏的iAction以编程方式隐藏UIView的内容

或者,您可以让选项卡栏的iActions动态创建新的UIView,其中包含您想要的任何内容

执行此操作的代码如下所述:


不完全一样,但你会从这个答案中理解它是如何工作的。

我认为这是一个解决办法,但我能够通过以下方式实现这一点:

LocationNotesViewController lnvc = new LocationNotesViewController();
lnvc.View.Frame = new RectangleF(MainPageTabBarView.Frame.X, MainPageTabBarView.Frame.Y -    MainPageTabBarView.Frame.Y, MainPageTabBarView.Frame.Width, MainPageTabBarView.Frame.Height);
MainPageTabBarView.AddSubview(lnvc.View);

你的情况不是很清楚。通常,选项卡栏是根控制器,每个选项卡都分配有一个视图控制器或导航控制器。选项卡栏控件为您处理视图切换,你不应该做任何事情。idk使用tabbar和tabbar控制器之间是否有区别,但我的tab栏位于我的mainviewcontroller中…不是作为它自己的根…因此你在ViewController中有一个UIView,你想在按下tabbar元素时显示它?是的…我用一个图像更新了这个问题-希望图像将有助于澄清这一点:LocationNotesViewController lnvc=[[LocationNotesViewController alloc]init];我不想切换视图控制器…我想切换视图…我不知道我是否能够做到这一点-第二个视图是一个空白视图,当我点击一个按钮时,我想在其位置加载另一个视图…@jharr100,那么第二个视图将无法执行任何操作。它必须是另一个VC。你只是想在每一个视图上都保留你的标签栏吗?只改变视图而不改变VC,你想实现什么?@jharr100哇,neato。老实说,在tabBar上不确定,但是如果您添加按钮(比如工具栏),您可以通过编程方式使按钮改变视图。很抱歉弄脏了你的帖子,这听起来像是一个选项,在那种情况下我该怎么做…这些选项卡栏按钮有一些事件,相当于按钮内部的触碰,所以它会很相似-我想?我找到了一种方法,从这个链接的选项卡栏获取事件,但不确定这是否有效
此.NavigationController.PushView
不存在