嘿,我的应用程序中有一个ImageView,我希望用户能够通过单击按钮来更改该图像视图中的图像。这是我得到的代码
在.h
@interface BGViewController : UIViewController {
IBOutlet UIImageView *image;
}
@property (nonatomic, retain) IBOutlet UIImageView *image;
-(IBAction)img1:(id)sender;
-(IBAction)img2:(id)sender;
和.m
@synthesize image;
-(IBAction)img1:(id)sender; {
UIImage *image = [UIImage imageNamed: @"Main.png"];
}
-(IBAction)img2:(id)sender; {
UIImage *image = [UIImage imageNamed: @"Themes.png"];
}
顺便说一句,每张图片都有一个按钮!
应用程序构建但是当我点击任何一个按钮时,就会发生这种情况。
答案 0 :(得分:10)
替换
UIImage *image = [UIImage imageNamed: @"Main.png"];
和
UIImage *image = [UIImage imageNamed: @"Themes.png"];
与
image.image = [UIImage imageNamed:@"Main.png"];
和
image.image = [UIImage imageNamed:@"Themes.png"];
现在应该可以正常工作:)
答案 1 :(得分:3)
只需设置image
的{{1}}属性:
UIImageView
您的方法实现中也存在语法错误,请在方法签名后删除分号(imageView.image = [UIImage imageNamed:@"Themes.png"];
)。
如果我正在设计此类,我将使用一个操作方法并使用;
参数的tag
属性来索引sender
个对象的数组。 (对于第一个按钮,NSString
将为tag
,而第二个按钮为0
等。)
您应该将1
ivar重命名为UIImageView
,以减少歧义。
imageView