如果Ball UIImageView位于同一个View Controller上但Ball位于单独的View Controller上,则此代码可以正常工作,因此它说:
使用未声明的标识符'Ball'
当实施此视图控制器上的操作时,我应该如何更改Ball的图像?
}
-(IBAction)BallSelect2:(id)sender{
Ball.image = [UIImage imageNamed:@"ball2fire.png"];
}
-(IBAction)BallSelect3:(id)sender{
Ball.image = [UIImage imageNamed:@"ball70color.png"];
}
-(IBAction)BallSelect4:(id)sender{
Ball.image = [UIImage imageNamed:@"sawball.png"];
答案 0 :(得分:0)
为此,您需要为所有人提供Ball UIImageView
的共享实例。
创建一个包含UIImageView对象的单例类,并将该类作为子视图添加到其他视图控制器。
答案 1 :(得分:0)
当你从一个viewController到另一个viewController执行Segue时,你可以使用prepareForSegue方法在这个方法中设置UIViewImage的出口。
答案 2 :(得分:0)
在下一个视图控制器上创建UIImage的属性,在那里你要更改图像并在同一个视图控制器上创建UIImage的本地对象,并在相应的按钮点击上传递图像名称
-(IBAction)buttonActions:(UIButton *)sender
{
switch (sender.tag) {
case 0:
ball_Image = [UIImage imageNamed:@"ball2fire.png"];
break;
case 0:
ball_Image = [UIImage imageNamed:@"ball70color.png"];
break;
case 0:
ball_Image = [UIImage imageNamed:@"sawball.png"];
break;
default:
break;
}
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NextViewController *objnext = [segue destinationViewController];
objnext.ballImage =ball_Image.image;
}
并将该ballImage分配给NextviewController中的imageview。
答案 3 :(得分:0)
使用代表。设置代理
// -- declare this on SecondViewController.h
id delegate;
// -- on FirstViewController after you instantiate SecondViewController set the delegate
secondViewController.delegate = self;
然后在SecondViewController上你可以调用。
(FirstViewController*)self.delegate.Ball setImage["your_image"];