0

だから私はビューにボタンがあり、それにアクセスする方法は知っていますが、そのボタンの画像を変更する方法がわかりません。これが私が得たものです:

for(UIView *button in [okvir subviews]){

        if([button isKindOfClass:[UIButton class]]){
                    UIImage *picture=[UIImage imageWithData:slika];
                    [button setImage:picture forState:UIControlStateNormal];
                }
            }

ただし、エラーが発生します。

No visible @interface for 'UIView' declares the selector 'setImage:forState:'

ボタンがUIButtonではなくUIViewであるためだと思いますが、それを行う方法はありますか?

4

1 に答える 1

5

UIButtonコンパイラーがポインターをジェネリックではなくとして認識するように、ポインターをキャストする必要がありますUIView。ポイントしたオブジェクトのランタイムタイプをチェックしているので、これは完全に安全です。したがって、それがであると確信できますUIButton

これを使って:

        [(UIButton*)button setImage:picture forState:UIControlStateNormal];
于 2012-11-29T09:27:46.197 に答える