【问题标题】:How to switch two nibs from one UIViewController on specific events?如何在特定事件上从一个 UIViewController 切换两个笔尖?
【发布时间】:2011-05-29 01:05:45
【问题描述】:

我创建了两个具有不同视图的 nib,用于管理注册和未注册的用户个人资料页面。

在第一个 nib 中,有一个文本和一个按钮要求用户注册(它调用 modalViewController 来处理注册/登录)。 在第二个中,我应该仅在设置了用户时才显示用户详细信息(用户名、图像等)(这发生在注册/登录过程之后)。

我想将笔尖更改为显示在此 UIViewController 上,但如果我检查 viewDidLoad,则开关不起作用。

我尝试将 if 条件用于在 loadView 中切换 nib,但在视图框架上出现黑屏。

有什么建议吗?

谢谢

【问题讨论】:

    标签: iphone xcode uiview


    【解决方案1】:

    创建一个名为 ProfileViewController 的单个 UIViewController。 创建两个 UIView 作为 resgisterView 和 loggedView。

    所有的控件和逻辑都应该在 ProfileViewController 中。在加载 ProfileViewController 时,使用 if 条件来检查用户的状态并相应地添加相应的子视图。为此使用 [self.view addSubView:resgisterView]。你可以把你的 if 放在 viewdidload 里面。

    只需保留一个断点并检查是否按预期工作。

    【讨论】:

    • 嗨 Adarsh,我使用了这种方法,它按预期工作:通过将观察者注册到用户状态以切换视图,我添加或删除它们。我的实际麻烦是避免引用 nil:当用户注销时,他的所有数据都是 nil 并且他的个人资料上的 UI 元素应该在取消引用用户之前释放,我想......
    • 我想..?请完成您的问题。
    【解决方案2】:

    尝试切换 viewDidAppear 中的 ViewControllers 而不是 viewdidload。我想我会工作的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多