持续数天,我找不到解决方案。我有两节课。在第一个我得到了
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
答案 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
”。