0

なぜこの問題が発生するのかわかりません。

詳細 - アプリケーションにタブバー コントローラーがあります。1 つのタブに、いくつかのボタンを含むフォームがあります。これらのボタンのタイトルを設定しています。これで、タブを変更して同じタブに戻ると、すべてのボタンのタイトルが暗く表示されます。

スクリーンショットも添付しています。

どんな助けでも大歓迎です。

ありがとうございました !!

初め 2番 ここに画像の説明を入力

編集:ボタンの作成方法のコードは次のとおりです-

-(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;
            }
}
4

2 に答える 2

1

viewWillAppear メソッドでボタンを作成する代わりに、viewDidLoad メソッドでボタンを作成します。

于 2012-06-01T19:18:00.917 に答える
1

viewDidLoad では、オブジェクトは 1 回呼び出されます (ビューがロードされるとすぐに停止します)。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;
            }
}
于 2012-06-01T19:32:38.713 に答える