gpt4 book ai didi

ios - 从另一个类访问 IBOutlet

转载 作者:行者123 更新时间:2023-11-28 19:57:43 25 4
gpt4 key购买 nike

嘿,我有两个 UIViewControllers。在第一个中,有一个包含图像的 UIButton。当用户到达我的第二个 ViewController 时,会出现许多包含不同图像的按钮。因此,当用户在我的 VC2 中按下一个按钮时,它应该将图像从它自己设置到我的 VC1 上的 UIButton。

我已经通过添加实现了第一个 VC:#import "ViewController1.h"@interface ViewController2()

之前的 ViewController2.m

我该怎么做?例如:

VC2:

- (IBAction)seaButton:(id)sender {
//Access the IBOutlet from VC1 and set the image of the Button like:

UIImage * seaBtnImage = [UIImage imageNamed:@"Sea.png"];
[buttonOutlet setImage:seaBtnImage forState:UIControlStateNormal];
}

谢谢!

最佳答案

第 1 步:在 ViewController2.h 中,在 VC2 上创建一个属性以引用 VC1:

#import "ViewController1.h"

@property (nonatomic, strong) ViewController1 *viewController1;

第二步:在VC1中创建VC2时,设置属性:

[viewController2 setViewController1:self];

第三步:在ViewController2上设置按钮图片

[self.buttonVC2 setImage:[self.viewController1.buttonVC1 imageForState:UIControlStateNormal] forState:UIControlStateNormal];

注意:更好的模型是在 VC1 上提供返回正确图像的方法。例如在 VC1 中:

- (UIImage *)imageForButton {
return [self.buttonVC1 imageForState:UIControlStateNormal];
}

在 VC2 中:

[self.buttonVC2 setImage[self.viewController1 imageForButton]];

关于ios - 从另一个类访问 IBOutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com