2012-02-29 58 views
0

在我的UISegmentController中選擇segmentIndex我無法在我的UISegmentController中選擇索引。我可以通過模擬器手動觸摸,並且可以通過代碼設置selectedSegmentIndex,但我無法在模擬器中顯示通過代碼設置的索引。我想看到的是我設置的索引顯示爲被選中給用戶,而用戶沒有實際點擊物品。嘗試通過代碼

if([mealPlanTable isHidden]){ 
    segCont.selectedSegmentIndex = 0; 
    NSLog(@"%d", [segCont selectedSegmentIndex]); 
    [self mainControl:segCont]; 
} 

這將設置索引,然後調用mainController根據所選的索引執行操作,該操作確實有效。我能夠使用我設置的值,但僅僅是無法在視覺上看到模擬器中選擇的區段是藍色的。

回答

2

如何將分段控件添加到視圖中?如果是通過界面生成器,請確保將其作爲IBOutlet鏈接並使用它的屬性進行訪問,即self.segmentedControl。如果直接添加它,請確保使用適當的實例變量。另外,請確保您在視圖加載的適當位置調用它。

+0

我創建了一個UISegmentControl * segCont – Rob 2012-02-29 19:04:03

+0

對不起。我在.h中創建了一個IBOutlet。我通過segCont.selectedSegmentIndex調用它 – Rob 2012-02-29 19:04:46

+0

如果你已經連接了插座嘗試使用屬性accessor - self.segCont.selectedSegmentIndex = 0 – shawnwall 2012-02-29 19:08:49

2

你打電話給這個?如果它在init中,請嘗試將它放在viewDidLoad或viewWillAppear方法中。

+0

我在另一個執行另一個操作的函數中調用它,但改變了我的視圖。我有一個搜索欄,它會觸發,當它觸發時,我想在其中一個可能與segmentedControl不同的視圖上顯示結果。與此我試圖手動更改selectedIndex,以便我可以通過調用我已附加到接口的UISegmentedController更改時的IBAction更新視圖。 – Rob 2012-02-29 19:08:04

+0

這聽起來像是一個糟糕的IB鏈接,正如shawnwall所建議的那樣。如果它在viewDidLoad之後完成。 NSLog上面顯示了什麼? – TigerCoding 2012-02-29 19:16:28

+0

它顯示我剛剛設置的selectedSegmentIndex,它實際上是我想設置的正確索引。因此,如果我將它設置爲0,它會顯示0,但不會更新視覺效果。 – Rob 2012-02-29 19:18:58