2013-03-06 40 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

相關問題