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

时间:2013-07-19 18:24:46

标签: ios objective-c xamarin.ios xamarin

我有一个视图控制器,它有一个地图视图和一个标签栏下的第二个视图。当我按下标签栏上的按钮时,如何更新第二个视图?

我试过了:

LocationNotesViewController lnvc = new LocationNotesViewController();
lnvc.View.Frame = MainPageTabBarView.Frame;
MainPageTabBarView = lnvc.View;

什么都没发生......视图没有更新。

enter image description here

当用户点击标签栏时,我想用不同的内容更新第二个视图...

3 个答案:

答案 0 :(得分:1)

如果你把UIView作为你希望显示在其中的数据的基础,你可以使用tabBar的IBAction来编程地输出UIView的内容。

或者你可以让tabbar的IBActions动态创建新的UIViews,包含你想要的内容。

执行此操作的代码如下所述:http://www.programmerscountry.com/creating-uiviewcontrols-programatically/

不完全相同,但你会从那个答案中理解它是如何运作的。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我认为这是一个解决方法 - 但我能够做到这一点:

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);