【发布时间】:2016-07-19 22:20:13
【问题描述】:
我在 ViewController 的 ViewDidLoad 中声明了 4 个图像,然后用 myImage1.hidden = YES; 隐藏它们。
我想知道是否有从 App Delegate(从 Switch Case 内)向 ViewController 的 ViewDidLoad 方法发送消息,该方法将 UIImageView 设置为隐藏:myImage1.hidden = NO;
-(void)playIndex:(NSInteger)index
{
switch (index)
{
case 1:
[self playOne];
[// something here to tell the UIImageView .hidden = NO;]
break;
我不确定这是否可能,但我认为有人可能能够对我正在尝试做的事情有所了解。我真的只是希望图像在被调用时与case 1: [self playOne]; 同时可见。
如果不这样做,我可以尝试另一种方法来实现这一点吗?
`- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
AppDelegate* app = [[UIApplication sharedApplication] delegate];
UIImage *redSquare = [UIImage imageNamed:@"red_square.png"];
UIImage *blueSquare = [UIImage imageNamed:@"blue_square.png"];
UIImage *greenSquare = [UIImage imageNamed:@"green_square.png"];
UIImage *yellowSquare = [UIImage imageNamed:@"yellow_square.png"];
UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(72, 117, 60, 60)];
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(188, 117, 60, 60)];
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(72, 254, 60, 60)];
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:CGRectMake(188, 254, 60, 60)];
[self.view addSubview:imageView1];
[self.view addSubview:imageView2];
[self.view addSubview:imageView3];
[self.view addSubview:imageView4];
imageView1.animationImages = @[redSquare];
imageView2.animationImages = @[blueSquare];
imageView3.animationImages = @[greenSquare];
imageView4.animationImages = @[yellowSquare];
imageView1.animationDuration = 1;
imageView2.animationDuration = 1;
imageView3.animationDuration = 1;
imageView4.animationDuration = 1;
imageView1.hidden = YES;
imageView2.hidden = YES;
imageView3.hidden = YES;
imageView4.hidden = YES;
[imageView1 startAnimating];
[imageView2 startAnimating];
[imageView3 startAnimating];
[imageView4 startAnimating];
应用委托中的 Switch 语句为:(包括 ViewController 引用)
-(void)playIndex:(NSInteger)index
{
ViewController* mainController = (ViewController*) self.window.rootViewController;
switch (index)
{
case 1: [self playOne]; [mainController imageView1Hidden]; break;
case 2: [self playTwo]; break;
case 3: [self playThree]; break;
case 4: [self playFour]; break;
}
}
【问题讨论】:
标签: ios objective-c uiimageview switch-statement