2014-04-18 68 views
-3

嘗試設置UISegmentControl的選定側,但沒有任何反應。在UISegmentControl中設置選定的項目不起作用

在我的viewDidLoad或viewDidAppear這段代碼不會選擇一個段?

[self.segmentedControl setSelectedSegmentIndex:[@1 integerValue]]; 

什麼都沒有發生?

+3

有您登錄self.segmentedControl,看它是否是零? – rdelmar

+5

順便說一句 - 爲什麼不簡單地通過'1'而不是'[@ 1 integerValue]'? – rmaddy

+0

如果它爲零,請確保插座連接正確(假設您使用的是Storyboard或InterfaceBuilder)。 – Gazzini

回答

0

我從故事板中刪除了UISegmentControl,並以編程方式添加它,它現在可用。很奇怪。

self.segControl.frame = CGRectMake(35, 100, 200, 50); 
self.segControl.segmentedControlStyle = UISegmentedControlStylePlain; 
self.segControl.selectedSegmentIndex = 1; 

[self.view addSubview:self.segControl]; 
0

您可以使用在UISegmentControl添加和設置選擇製表符碼

NSArray *itemArray = [NSArray arrayWithObjects: @"Top Twenty", @"Dow thirty", @"Favorite", nil]; 
    segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray]; 
    segmentedControl.frame = CGRectMake(15, 80, 300, 30); 
    segmentedControl.backgroundColor = [UIColor groupTableViewBackgroundColor]; 
    [segmentedControl addTarget:self action:@selector(MySegmentControlAction:) forControlEvents: UIControlEventValueChanged]; 
    segmentedControl.selectedSegmentIndex = 0; //**this line represent selected tab** 
    [self.view addSubview:segmentedControl]; 
相關問題