2010-04-22 20 views
1

我不喜歡UISegmentedControl的風格,因此我試圖改變它的樣子,但我不能附加圖像到它的按鈕。我根本沒有改變。用UIButtons複製UISegmentedControl - 我

現在我在看如何用4個UIButtons複製那個函數。

我已經在界面生成器中設置了4個UIButtons,爲它們添加了不同的標籤號。

我不能完成的是當一個按鈕被點擊時,它應該被「選中」,其他按鈕應該被取消選中。

我怎樣才能連接所有的人?

如果有辦法改變UISegmented控制外觀,我會需要所有這些努力。

感謝幫助傢伙

這是使用4個按鈕iPhone OS

回答

3

,這是不是太困難,關閉所有其他人。下面是一些代碼,讓你開始:

- (void)buttonPressed:(NSInteger)activeButtonIndex { 
    for (int i = 0; i < [buttons count]; i++) { 
     MYButton *button = [buttons objectAtIndex:i]; 
     if (i == activeButtonIndex) { 
      [button setDepressed:YES]; 
     } else { 
      [button setDepressed:NO]; 
     } 
    } 
} 
- (void)button1Pressed:(id)sender { [self buttonPressed:1]; } 
- (void)button2Pressed:(id)sender { [self buttonPressed:2]; } 
- (void)button3Pressed:(id)sender { [self buttonPressed:3]; } 
- (void)button4Pressed:(id)sender { [self buttonPressed:4]; } 

重要的設置這裏要注意:

  1. 您需要將您的子類UIButton的,使它有一個depressed狀態。這樣,如果選擇了一個項目,只需將該按鈕的圖像或背景替換掉,使其看起來很沮喪。
  2. buttons是一個數組,充滿了這個子類的uibutton對象。你可以在viewDidLoad中設置它;
+0

由於UIButton是UIControl的子類,因此它已經在此處定義了選定的屬性 – Vladimir 2010-04-22 13:33:05

+0

然後您可以爲其選擇不同的名稱。 – coneybeare 2010-04-22 13:45:53

+0

這工作,謝謝.. – Sam 2010-04-22 14:16:34