2014-01-14 27 views
1

我是iOS開發的新手,想知道實施UISegmentedControl的正確方法。如何正確使用UISegmentedControl?

我已經拖出細分受衆羣,將其放到我想要的位置,通過邊欄中的屬性更改其色調顏色,然後更改每個細分受衆羣的文字。然後,我控制住並且拖到ViewController.m創建一個出口。這是這個功能:

- (IBAction)touchSegment:(UISegmentedControl *)sender { 
    NSString *selectedSegmentTitle = [sender titleForSegmentAtIndex:sender.selectedSegmentIndex]; 

    if ([selectedSegmentTitle isEqualToString:@"2 cards"]) { 
     NSLog(@"first tapped"); 
    } 
    else if ([selectedSegmentTitle isEqualToString:@"3 cards"]) { 
     NSLog(@"second tapped"); 
    } 
} 

這很直觀,但它不能正常工作。雖然XCode中的所有狀態都設置了自定義色調顏色(選擇該片段作爲一個整體,然後雙擊每個單獨的一個),但啓動應用程序時只有左側的片段被着色 - 右側的邊框仍然是默認藍色。如果在iOS Simulator中單擊右側的段,則顏色將更改爲正確的設置色調。我還設置了默認情況下應在側邊欄中選擇哪一個,但它並未在故事板中顯示。不知道我是否做得對,這些都是XCode中的小錯誤,或者如果我錯過了某些東西,或者首先做錯了。

Xcode的故事板:
enter image description here

iPhone模擬器一經推出:
enter image description here

我運行Xcode 5.0.2iOS Simulator v7.0.3。謝謝!

回答

0

也就是說,在iOS的7着色顏色的作品可以通過使用功能

進一步自定義您的控制方式

你可以把它像這樣[控制了setBackgroundImage:forState:barMetrics] -

[control setBackgroundImage:unselectedBackImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

[control setBackgroundImage:selectedBackgroundImage forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];

+0

你好。我認爲有些東西肯定不能正常工作。我添加了一些圖像以進一步說明情況。 – Joey

+0

這很奇怪。我不能重新創建只是使用故事板...你是否在代碼中設置邊框顏色? 我會嘗試刪除該控件並重新開始。某些設置可能會在某處出現混亂。 – Eagle11

+0

我遵循完全相同的步驟,問題再次發生,完全如上所示。你在使用Xcode 5.0.2嗎?只需拖出一段,按住控制並拖動到ViewController,輸入名稱並從ID更改爲UISegmentedControl,單擊它並通過側欄更改色調,將左側設置爲選中狀態,然後添加該功能中的代碼。 – Joey