2009-10-02 67 views
7

即時通訊編程新手,所以如果你能幫助我,我將不勝感激,我一直在網絡上,無法找到答案。iPhone:將分段控制添加到工具欄而不是導航控制器中的按鈕?

我目前的設置是這樣的MainWindow.xib文件中的MainWindow.xib>查看這

導航控制器,導航控制器調用RootViewController.xib> RootViewController.xib包含一個單一的tableview。

我可以然後使用以下代碼加載在工具條中RootViewController.m

​​

這個代碼適用於按鈕。但我不能爲我的生活找出如何添加分段控制而不是按鈕。我已經嘗試了一個帶有兩個分段控件的數組,但不能將數組添加到工具欄。

如果有人可以讓我知道了一些代碼,我已經使用添加按鈕我將不勝感激,將在同樣的方式添加分段控制。

感謝,戴夫。

回答

20

的解決方案是:(1)創建UISegmentedControl以其所有的按鈕,等等,然後(2)使用initWithCustomView:(UIView *)view初始化創建UIBarButtonItem並提供分段控制作爲變量此。然後使用一個數組,像上面的示例代碼中那樣將Bar Button Item添加到工具欄。

確保您設定的目標和行動爲您的分段控制,我建議其樣式設置爲UISegmentedControlStyleBar。它看起來就像地圖應用底部的那個。希望這是你正在尋找的。

+0

我該如何得到在segmentedController選擇器中選擇哪個段? – Neelesh 2011-03-18 16:40:37

+0

檢查其selectedSegmentIndex屬性 – 2011-03-18 17:19:58

11

這是我的代碼增加了一個分段控制到導航控制器的工具欄。 :

NSArray *segItemsArray = [NSArray arrayWithObjects: @"Settings", @"Templates", @"Notes", nil]; 
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segItemsArray]; 
segmentedControl.frame = CGRectMake(0, 0, 200, 30); 
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar; 
segmentedControl.selectedSegmentIndex = 2; 
UIBarButtonItem *segmentedControlButtonItem = [[UIBarButtonItem alloc] initWithCustomView:(UIView *)segmentedControl]; 
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
NSArray *barArray = [NSArray arrayWithObjects: flexibleSpace, segmentedControlButtonItem, flexibleSpace, nil]; 

[self setToolbarItems:barArray]; 
+0

謝謝你的先生,像一個魅力工作 – 2011-12-22 10:06:17

相關問題