更改其他类的UIImageView

时间:2014-05-25 13:23:44

标签: ios objective-c uiimageview

持续数天,我找不到解决方案。我有两节课。在第一个我得到了

IBoutlet UIImageView *image

如果在第二个类中调用某个函数,我想更改此图像。

[image setImage: [UIImage imageNamed:@"MainDesign_Iphone_17.png"]];

在第二节中不起作用,因为那里不知道“图像”。我该怎么做?


编辑:

我的.h:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{


}

@property (strong) IBOutlet UIImageView *imageView;

@end

我的.m在第二课

#import "SecondClass.h"
#import "ViewController.h"

@interface SecondClass ()

@end

@implementation SecondClass


- (void)viewDidLoad
{
    [super viewDidLoad];

    [ViewController.imageView setImage: [UIImage imageNamed:@"MainDesign_Iphone_17.png"]];
}

@end

1 个答案:

答案 0 :(得分:0)

制作本:

IBOutlet UIImageView *image;

进入这样的房产:

@property (strong) IBOutlet UIImageView *imageView;

在班级的“.h”实施文件中。

请注意,我还将名称从“image”更改为“imageView”,因为调用imageView图像会让人感到困惑。图像视图包含图像。

现在您已将其声明为属性而非私有ivar,您可以通过执行以下操作来访问第二个类的图像视图:

[firstClass.imageView setImage: [UIImage imageNamed:@"MainDesign_Iphone_17.png"]];

显然你会用你从另一个类别引用一个类的方式替换单词“firstClass”。