2013-03-06 62 views
1

我想要一个的TabBar添加到这样的形象一个UIViewController:添加标签栏在UIViewController中的一部分,MonoTouch的iphone

enter image description here

的顶部(2labels和UIScrollView中)的修复,只是底部当用户更改标签栏项目时更改。 我加从对象标签栏控制器在Xcode我的UIViewController,但我不知道怎样才能创建视图标签栏控制器如何只是改变页面的一部分。

编辑: 我用这个代码是:

 UIViewController viewController1, viewController2; 
     if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) { 
      viewController1 = new FirstViewController ("FirstViewController_iPhone", null); 
      viewController2 = new SecondViewController ("SecondViewController_iPhone", null); 
     } else { 
      viewController1 = new FirstViewController ("FirstViewController_iPad", null); 
      viewController2 = new SecondViewController ("SecondViewController_iPad", null); 
     } 
     UITabBarController tabBarController= new UITabBarController(); 
     tabBarController.ViewControllers = new UIViewController [] { 
      viewController1, 
      viewController2, 
     }; 

     UIView v= tabBarController .View ; 
     v.Frame = new Rectangle (0,150,320,260); 
     UITabBar tb= tabBarController .TabBar; 
     tb.Frame = new RectangleF (0,410,320,50); 
     this.View .AddSubview (v ); 
     this .View .AddSubview (tb); 

,但它无法正常工作。标签栏视图填充所有的视图,当我点击uitabbar的按钮时,我得到异常和应用程序的力量关闭。

回答

1

您可能不需要使用TabBar重现此问题。

  1. 在你的“地方应该改变......”,只需设置一个普通的UIView,我们打算称它为容器。

  2. 在您的视图控制器的viewDidLoad,创建你的三个意见和保留在内存中,让我们给他们打电话的DetailView,MapView类,agentView。

然后,在底部,你可以添加3个UIButton。在每个按钮按下动作(TouchUpInside)你添加相关的视图作为容器子视图(即agentButton.TouchUpInside + =()=> container.AddSubView(detailsView); *不要忘记删除前一个

编辑:

this.View .AddSubview (tabBarController.View); 
tabBarController.View.Frame = new RectangleF(....); 

我在一个示例项目尝试这样做,它的工作原理

+0

谢谢您的回答,是的,它是可能的。但通过这种方式,我们应该关心更改图标的状态,当他们按下,当他们当按钮的数量多于4时,创建一些自定义视图4.几乎我们必须实现之前在tabbar中实现的所有功能r容器。我认为我们最好找到一种使用tabbar控制器的方法。 – 2013-03-06 15:39:21

+0

使用tabbar控制器会稍微复杂一些。但主要想法是添加一个TabBarController作为你的UIViewController的子控制器。然后设置它的视图框架以使其适合您的白色矩形。 (并添加tabbarController.view作为其他的UIViewController的子视图) – 2013-03-06 16:42:27

+0

由于马克。我相信我们必须这样做。你有没有任何源代码或教程。真的,我一个新的MonoTouch的iPhone和这个材料帮助我,所以:) – 2013-03-06 17:31:22

相关问题