从 rootViewController 设置 UILabel 文本

Posted

技术标签:

【中文标题】从 rootViewController 设置 UILabel 文本【英文标题】:Setting UILabel text from rootViewController 【发布时间】:2016-12-08 12:22:54 【问题描述】:

我有两个视图控制器 1.rootviewController 2.myStatusDisplayViewController。

我有一个 c 堆栈回调函数,它返回一个 c 字符串。那个特定的回调函数调用我的 rootviewcontroller 中的一个函数。在我的 rootview 控制器中,我使用该引用引用了 myStatusDispalyViewController 我正在尝试更新 myStatusDisplayviewController 中的标签。

app.myStatusDisplayViewController.displayCallStatus.text =updatedCallStatus;
[app.myStatusDisplayViewController viewDidLoad];
[app.myStatusDisplayViewController viewWillAppear:YES];

【问题讨论】:

Jeeva 你在 Dispatch.Queue.main 中设置文本吗?实际上你的问题不是 100% 可以理解的 @DheerajD 我对目标 c 完全陌生..所以我不知道 DIspatch.queue.main.above 代码更改了我的标签文本,但它没有在屏幕中更新。但是当我点击其他一些按钮我的标签获取更新的字符串。我想刷新我的视图控制器标签而不点击我的按钮。我希望你明白我的意思.. 【参考方案1】:

在该块中设置您的文本:

  dispatch_async(dispatch_get_main_queue(), ^
     app.myStatusDisplayViewController.displayCallStatus.text =updatedCallStatus;
        );

希望它会起作用。

【讨论】:

k 会试一试,你能解释一下 dispatch_async 或该方法的参考链接吗.. 你能告诉我你用什么方法设置文本吗? raywenderlich.com/60749/grand-central-dispatch-in-depth-part-1

以上是关于从 rootViewController 设置 UILabel 文本的主要内容,如果未能解决你的问题,请参考以下文章

如果 UITabbarcontroller 不是 rootviewcontroller,如何从 Appdelegate 为 UIBarButtonItem 设置徽章(无论何时推送通知)?

以编程方式设置 rootViewController 不起作用,仅在 Xcode 11 中从情节提要中选择初始视图控制器

设置 appdelegate' 窗口 rootviewcontroller

如何将 tabBarController 设置为 rootViewController

以编程方式使用 UINavigationController 设置 RootViewController

iOS设置 rootViewController