Objective c iOS检测选项卡是否已更改
我有一个选项卡式iOS应用程序。我需要知道哪个选项卡处于活动状态,并检测选项卡何时更改。在序列图像板中,我有一个选项卡视图控制器,当您单击选项卡时,它会更改视图。我创建了一个类Objective c iOS检测选项卡是否已更改,objective-c,ios5,Objective C,Ios5,我有一个选项卡式iOS应用程序。我需要知道哪个选项卡处于活动状态,并检测选项卡何时更改。在序列图像板中,我有一个选项卡视图控制器,当您单击选项卡时,它会更改视图。我创建了一个类TabBarController,其定义如下: 标题 @interface TabBarController : UITabBarController <UITabBarControllerDelegate> @end 然而,我无法用上面的代码检测选项卡的更改。你认为问题是什么 我没有将我的选项卡视图链接到
TabBarController
,其定义如下:
标题
@interface TabBarController : UITabBarController <UITabBarControllerDelegate>
@end
然而,我无法用上面的代码检测选项卡的更改。你认为问题是什么
我没有将我的选项卡视图链接到任何插座,但会继续链接到其他视图。这就是问题所在吗?那么,我应该将我的outlet链接到哪里?您是否确认正在调用您的
init
方法?我不认为init
是UITabBarController
的指定初始值设定项,从nib/情节提要加载控制器时可能不会调用它
如果是这种情况,您可能会发现在
视图DIDLOAD
中设置委托更容易,因为无论对象如何初始化,都会调用该委托,或者确保在使用-initWithNibName:bundle:
或-initWithCoder
实例化对象时设置委托。解决方案如下:实现视图加载如下:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
NSLog(@"Tabs showed up!");
self.delegate = self;
}
谢谢你,乔纳。我通过设置self.delegate=self解决了这个问题;进入视图加载。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
NSLog(@"Tabs showed up!");
self.delegate = self;
}