2

コードのIBOutletであるIBにUIButton(カスタム、画像付き)を設定しました。

viewControllerのviewDidLoadメソッドで、UIButtonの既存の画像を変更しようとしています

UIImage *newbuttonimage = [UIImage imageNamed:@"newbuttonimage.png"];
testbutton.imageView.image = newbuttonimage;

OK、それはアプリの起動時に機能しますが、ボタンを操作する(ボタンを押す)たびに、元の画像(IBで設定)に変わります。プロジェクト全体で画像を変更するコードは他にありませんが、何が起こっているのでしょうか。

ちなみに、上記のコードをプロジェクトの他の部分に配置しても、イメージは変更されません。

4

2 に答える 2

9

setImage:forState画像を直接割り当てるのではなく、を使用してみてください。UIButtonには複数の状態があり、適切に設定されていない場合、望ましくない動作が発生する可能性があります(表示されている動作と同様)。

于 2009-10-02T22:10:45.973 に答える
0

ドー!代わりにこのコードを使用する必要がありました:

UIImage *newbuttonimage = [UIImage imageNamed:@"newbuttonimage.png"];
[testbutton setImage:newbuttonimage forState:UIControlStateNormal];
于 2009-10-02T22:11:18.207 に答える