我找到了一个我尝试修改的目标C项目。正如您所看到的,我得到了一个创建UIImageView的函数:
- (UIImageView*)homePage:(YouzikHomePageView*)homePageView imageDataForImageView:(UIImageView*)imageView;
{
[imageView setImage:[UIImage imageNamed:@"background"]];
return imageView;
}
问题是我想修改每10秒显示的图像,这需要在ViewDidLoad方法中获取UIImageView声明,是否可能?我试过这个:
- (void)viewDidLoad
{
[super viewDidLoad];
[self setupNa...
[self.homePa...
[self hid...
[self setuphomePag...
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background"]];
[self.homePageView addSubview:imageView];
}
但它并没有任何事情发生,感谢所有人,请原谅我糟糕的英语。
答案 0 :(得分:1)
您的代码正在创建并将imageView添加到子视图中。
这可能不是你打算做的,而且你不想每10秒钟继续创建和添加更多的imageView,因为你最终会耗尽内存。
您通常会在视图控制器上拥有imageView属性,并通过设置其image
属性来更改其图像。
在HomeViewController.h中
@property (weak, nonatomic) IBOutlet UIImageView *myImageView;
在HomeViewController.m
self.myImageView.image = [UIImage imageNamed:@"background"];
至于每十秒更换一次图像,您需要设置一个计时器
myTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];
并在changeImage
方法
- (void)changeImage
{
self.myImageView.image = ...;
}