【问题标题】:How to change container in another VC ? iOS如何在另一个 VC 中更改容器? iOS
【发布时间】:2016-07-14 13:26:11
【问题描述】:

在 ViewController 中,我有两个容器属性:

@property (weak, nonatomic) IBOutlet UIView *firstContainerView;
@property (weak, nonatomic) IBOutlet UIView *secondContainerView; 

我可以用它们做任何事情:

self.firstContainerView.alpha = 0;
self.secondContainerView.alpha = 1;

但是我如何才能从 SecondVC 方法中出现 firstContainerView(单击按钮)?

【问题讨论】:

标签: ios objective-c containers


【解决方案1】:

首先你必须有一个指针来访问目标视图控制器,这样你才能看到两个 vc 没有连接,所以你应该创建一个全局指针供另一个 vc 访问。您可以创建一个单例来保存这些 vc,或者只使用委托或块。

【讨论】:

    【解决方案2】:

    为什么不使用委托通知 ViewController 按钮被点击,ViewController 将负责容器视图的出现/消失。

    【讨论】:

    • 它应该可以工作,你能分享代码我们可以找出它为什么不工作
    • 好的,您的实现存在一些问题。首先 - 您应该将 SecondVC 设置为 ViewController 中的属性。这是必需的,因为第二个问题是您没有将 ViewController 设置为委托。因此,在创建 SecondVC 属性后,您应该向 viewDidLoad 添加类似“self.secondVC.delegate = self”的内容。第三个主要问题 - 你应该让你的 ViewController 遵守 ChangeContDelagate 协议 - 为此你应该去 ViewController.h 并将你的@interface 行更改为:“@interface ViewController : UIViewController ”。
    • 是的,在这一切之后,您应该更改 ViewController.m 中的代码,这样它就不会使用 firstView 和 secondView 属性,而是使用 FirstVC.view 和 SecondVC.view 属性。因为您从现在开始使用视图控制器进行操作。
    • 没时间正确注释代码,希望大家自己去修改。这是:dropbox.com/s/2yr0zhxjzt44tmy/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多