在 UIImageView 子类中使用定时器

Use timer in a UIImageView Subclass

我想通过计时器更改自定义 UIImageView 子类的图片。但它不起作用。你能帮帮我吗?

这是我的代码:

-(id)initWithCoder:(NSCoder *)aDecoder {

    self = [super initWithCoder:aDecoder];
    if (self) {
        [self update];
    }
    return self;
}

-(void)update {

    self.image = [UIImage imageNamed:@"Green.png"];
    [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(change) userInfo:nil repeats:YES];

}

-(void)change {

    self.image = [UIImage imageNamed:@"Red.png"];

}

谢谢!

使用 image 属性 也可以将任何图像分配给 imageView 小整改见下面的代码。

也不要给出与其 class 属性.

相同的变量名
-(void)update {

    self.image.image = [UIImage imageNamed:@"Green.png"];
    [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(change) userInfo:nil repeats:YES];

}

-(void)change {
    self.image.image = [UIImage imageNamed:@"Red.png"];
}

self.image.image peoperty added here

编辑:

将 属性 从 UIImage 更改为 UIImageView,如下所示

@property (strong, nonatomic) IBOutlet UIImageView *image;


.h 头文件

#import <UIKit/UIKit.h>

@interface orientation : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *image;
@end

.m 消息文件

#import "orientation.h"

@interface orientation ()

@end

@implementation orientation

- (void)viewDidLoad {
    [super viewDidLoad];

    [self update];
    // Do any additional setup after loading the view.
}

-(void)update {

    self.image.image = [UIImage imageNamed:@"investment1.png"];
    [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(change) userInfo:nil repeats:YES];

}

-(void)change {
    self.image.image = [UIImage imageNamed:@"logout.png"];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end