【问题标题】:Reload UIStoryboard or refresh all view iOS重新加载 UIStoryboard 或刷新所有视图 iOS
【发布时间】:2014-11-09 15:10:28
【问题描述】:

有没有办法删除当前的 UIStoryboard 并重新加载那个?我有一个这样的项目。

如果没有,是否可以刷新所有视图?目的是我需要再次设置所有 UILabel、UIButton 文本。

lblTest.text = @"Testing";

【问题讨论】:

  • 帮助我理解你的问题。您想刷新视图,对吗?不理解这里的故事板部分..
  • 这是我想做的事情。 self.window.rootViewController = nil;之后,重新加载 UIStoryboard。程序在 App 委托中,会自动调用 UIStoryboard。如何重新加载名为 MainStoryboard 的当前 UIStoryboard?
  • 如果不行,我想一次刷新我所有的视图,viewcontroller,tableviewcontroller等。我该怎么办?
  • 在哪些情况下要更新UILabel、UIButton文本?
  • 当我强制将当前语言环境从英语更改为中文时,我想更新。

标签: ios objective-c uiviewcontroller uistoryboard reload


【解决方案1】:

从您的评论中,我了解到这个问题与其说是刷新您的故事板,不如说是关于让您的应用针对英语和中文用户进行本地化。

查看 iOs 开发人员库中的“国际化和本地化”。在这里,您可以找到将您的应用程序转变为多语言应用程序所需的资源。他们还提供了一个名为 InternationalMountains 的示例应用程序,但这并没有过多地涉及标签。幸运的是,那里有很多合适的教程,比如

【讨论】:

    【解决方案2】:

    当您最初设置控制器时,您应该在从 viewDidLoad 调用的方法中填充标签和按钮文本。当您想“刷新”您的视图,使其看起来像初始条件时,只需再次调用此方法即可。您无需重新加载情节提要即可执行此操作。

    【讨论】:

    • 是的。我会那样做。但是,我需要为我的所有 uiviewcontroller、uitableview、uitableviewcell 等做所有事情,这些文件将超过 50 个。恐怕我需要为所有这些写作。因此,我正在考虑删除当前的故事板并重新加载那个。
    猜你喜欢
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    相关资源
    最近更新 更多