4

我正在尝试更新文本字段的用户名字段。目前有一个占位符,其中写有“用户名”。我正在从设置文件中加载用户名,但为了清楚起见,我只会在用户名中进行硬编码。

- (void)viewDidLoad {
    settings=[Settings new];
    [settings loadData];

    //username.text=settings.username;
    username.text=@"Test";
}

由于某种原因,这不起作用!!!但是,如果我有一个按钮,当我单击它时,它将更新文本字段。

例如

- (IBAction)login:(id)sender{
    username.text=@"test";
}

所以按钮更新了文本,但我无法从 viewDidLoad 更新。这是线程问题吗?我不敢相信这么简单的事情要花这么长时间。

4

3 回答 3

9

此时可能未创建控件。

尝试在 ViewController中设置- (void)viewDidAppear:(BOOL)animated中的值。

您可能还想尝试- (void)viewWillAppear:(BOOL)animated以及。

于 2009-09-02T11:20:49.757 回答
3

我不知道为什么,但是您只能在最初显示文本字段后更改它的文本

=> 使用- (void)viewDidAppear:(BOOL)animated

这会起作用

于 2009-09-02T11:35:49.303 回答
0

您已将文本字段声明为属性中的 IBOutlet。我犯的错误是我忘记将 Outlets(文本字段)连接到 Interface Builder 中的文件所有者

于 2010-09-21T15:40:35.500 回答