【问题标题】:Not able to make ctrl-drag reference/delegate from uittabcontroller to app delegate无法将 ctrl-drag 引用/委托从 uittabcontroller 到应用程序委托
【发布时间】:2016-03-26 22:37:04
【问题描述】:
这真的让我很生气了一段时间,我不知道如何更进一步。我创建了一个选项卡式应用程序,因此获得了嵌套在其中的默认 UITabBarController + 2 视图控制器。很公平。现在我注意到在切换时没有调用 viewcontrollers viewDidLoad 方法。好的,所以我发现当视图控制器被“选项卡”时有一个选项卡代表。现在我的问题是我放在 AppDelegate 中的委托方法没有被调用。我已经尝试过以我所知道的所有方式来引用给定的 tabbarcontroller(以编程方式设置委托),并且我尝试过 ctrl 将委托拖到任何可能的地方。我做错了吗? (因为在我看来这似乎不是问题,而且人们都在参考他们的标签栏)。
谢谢
【问题讨论】:
标签:
ios
objective-c
xcode
uitabbarcontroller
【解决方案1】:
如果您希望能够进行引用,则必须在情节提要中设置视图控制器的类。在情节提要中选择您的视图控制器。在右侧面板上转到Identity inspector 并在Class 字段中设置类的名称。您应该能够进行引用,并且应该调用 viewDidLoad。
【解决方案2】:
我使用这段代码来获得对标签栏的引用,因此我可以通过编程方式设置委托:
UITabBarController *tabBar = ((UITabBarController*)self.window.rootViewController).delegate = self;
很简单,我想我昨天在深夜跑步。
然而问题显然是使用故事板,然后尝试在应用程序委托中创建一个出口(我仍然不认为这是可能的)。