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:'

我猜那是因为按钮是 UIView 而不是 UIButton,知道该怎么做吗?

4

1 回答 1

5

您需要转换指针,以便编译器将其识别为 aUIButton而不是 generic UIView。这是完全安全的,因为您正在检查指向对象的运行时类型,因此您可以确定它是UIButton.

用这个:

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