1

私はxibをロードしています:

EventFormView *formView = [[[NSBundle mainBundle] loadNibNamed:@"EventFormView" owner:self options:nil] objectAtIndex:0];
formView.delegate = self;

[formView loadEvent:event];

ペン先にボタンがあります:

ここに画像の説明を入力

メソッドでawakeFromNib:、ボタンのテキストを変更します。

self.button.titleLabel.text = @"Done";

に追加formViewするとself.view、「完了」というテキストが表示されます。

ボタンを押すと から削除されself.viewます:

-(void)removeForm {
    DLog(@"fired");

    [UIView animateWithDuration:.25
                     animations:^{
                         self.alpha = 0;
                     }
                     completion:^(BOOL finished) {
                         [self removeFromSuperview];
                     }];
}

これは機能しますが、ボタンがフェードアウトしている間、ボタンは元の「テスト」のテキストに戻ります。(で割り当てた色ではなく、ペン先の背景色に戻すヘッダー UIView がありますawakeFromNib)。

ペン先を実際に扱ったのはこれが初めてなので、何か間違っているかどうかわかりませんか?

4

1 に答える 1

2

UIKit はボタンの状態に応じてラベルを変更する可能性があるため、UIButton では setTitle:forState: メソッドを使用する必要があります。試す:

[self.button setTitle:@"Done" forState:UIControlStateNormal];
于 2013-07-26T17:15:54.393 に答える