gpt4 book ai didi

ios - 从另一个类(另一个 ViewController)编辑 UILabel

转载 作者:行者123 更新时间:2023-11-29 12:05:38 24 4
gpt4 key购买 nike

我想从 ViewController1 编辑 ViewController2 中的 UILabel。

这是我的代码,但它不起作用:

ViewController1.m:

// ....

// In my viewDidLoad :

ViewController2 *vc = [[ViewController2 alloc]init];

// calling a function :

[vc updateLabel];

// ....

ViewController2.m:

// ....

-(void)updateLabel{

self.MyLabel.text = @"Text";

// MyLabel is already declared in ViewController2.h

}

// ....

请问你能帮帮我吗?

试了很多代码,还是不行,不知道问题出在哪里。

最佳答案

无论对错,为了实现这一点,我可能会使用 NSUserDefaults 在 View Controller 之间拉取信息。

ViewController1

NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
[standardDefaults setObject:@"This is my Label" forKey:@"labelKey"];

ViewController2

NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
MyLabel.text = [standardDefaults stringForKey:@"labelKey"]

答案已更新以反射(reflect) UIProgressView 根据以下评论修改后的问题:

ViewController1.m

NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
[standardDefaults setDouble:0.75 forKey:@"ProgressValue"]; //value you want your progress view to show

ViewController2.h

...在这里为你的进度 View 创建一个导出并在 IB 中链接它

  @property (weak, nonatomic) IBOutlet UIProgressView *ProgressView;

ViewController2.m

@synthesize ProgressView;

...

NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
double ProgressValue = [standardDefaults doubleForKey:@"ProgressValue"];
ProgressView.progress = ProgressValue;

关于ios - 从另一个类(另一个 ViewController)编辑 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35133397/

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