2012-06-01 65 views
0

更改標籤時出現較深我不知道爲什麼我得到此問題。UIButtons Text TabBar

詳細信息 - 我的應用程序中有一個標籤欄控制器。在一個標籤上,我有一個包含一些按鈕的表單。我正在設置這些按鈕的標題。現在,當我更改制表符並回到相同的選項卡時,所有按鈕標題都會變暗。

我也附上屏幕截圖。

任何幫助,將不勝感激。

謝謝!

First Second enter image description here

編輯:這裏是我如何創建按鈕的代碼 -

-(void)viewWillAppear:(BOOL)animated 
{ 
    float yFrame =310.0f; 
      for(int i =0;i<7;i++){ 

       openPickerButton=[UIButton buttonWithType:UIButtonTypeCustom]; 
       openPickerButton.frame = CGRectMake(29.0, yFrame+10.0, 280.0, 48.0); 
       openPickerButton.tag=i; 
       openPickerButton.backgroundColor=[UIColor clearColor]; 
       [openPickerButton setTitle:[formButtonTitle objectAtIndex:openPickerButton.tag] forState:UIControlStateNormal]; 

       openPickerButton.titleLabel.font=[UIFont fontWithName:@"Helvetica" size:16]; 
       [openPickerButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; 
       openPickerButton.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft; 
       openPickerButton.showsTouchWhenHighlighted = YES; 
       [openPickerButton addTarget:self action:@selector(PickChoreButtonAction:) forControlEvents:UIControlEventTouchUpInside]; 
       [setPreferencesFormScrollView addSubview:openPickerButton]; 
       yFrame+=60.0f; 
      } 
} 
+1

我認爲每次切換到其他選項卡並返回時都會一次又一次地繪製它們,使用斷點檢查切換到其他選項卡並返回時發生的情況。 –

+0

你在viewWillAppear方法中創建這些按鈕? –

+0

我們可以看到你如何創建按鈕的一些代碼? – self

回答

1

那麼在viewDidLoad中你的對象會被調用一次(只要視圖被加載, 停止) 在viewWillAppear中,每次出現視圖時都會調用它們。

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    float yFrame =310.0f; 
      for(int i =0;i<7;i++){ 

       openPickerButton=[UIButton buttonWithType:UIButtonTypeCustom]; 
       openPickerButton.frame = CGRectMake(29.0, yFrame+10.0, 280.0, 48.0); 
       openPickerButton.tag=i; 
       openPickerButton.backgroundColor=[UIColor clearColor]; 
       [openPickerButton setTitle:[formButtonTitle objectAtIndex:openPickerButton.tag] forState:UIControlStateNormal]; 

       openPickerButton.titleLabel.font=[UIFont fontWithName:@"Helvetica" size:16]; 
       [openPickerButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; 
       openPickerButton.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft; 
       openPickerButton.showsTouchWhenHighlighted = YES; 
       [openPickerButton addTarget:self action:@selector(PickChoreButtonAction:) forControlEvents:UIControlEventTouchUpInside]; 
       [setPreferencesFormScrollView addSubview:openPickerButton]; 
       yFrame+=60.0f; 
      } 
} 
+0

我不能將它添加到viewDidLoad中,因爲我正在做其他一些邏輯。我必須在視角才能做到這一點。 – Akshay

1

而是在viewWillAppear中的方法創建一個按鈕創建按鈕在viewDidLoad方法

+0

從viewWillAppear中剪下代碼並將其粘貼到viewDidLoad中,這樣可以解決你的問題 –

+0

解決方案的工作原理? –

+0

我不能將它添加到viewDidLoad中,因爲我正在做其他一些邏輯。我必須在視角才能做到這一點。 – Akshay