1

我已经在 IB 中 100% 构建了一个应用程序,而无需编码。我的编码背景很少,所以请回答。:)

我需要一种方法让按钮(位于我的标签栏控制器之外)将我带到我的标签栏控制器中的特定标签。当我只是在 IB 中做一个模态链接时,它会带我到那里,但底部的标签栏控制器不见了。

我该怎么做?(带有示例的具体细节将不胜感激)

下面回答:

我自己想出来的......对于那些可能正在寻找类似解决方案的人......

我所做的只是在我的初始视图控制器中创建一个名为 globalVariable 的全局变量。

//myview.h
#ifndef Globals_h
#define Globals_h

extern NSInteger globalVariable;

#endif

使用模式推送到我的标签栏控制器的四个按钮填充该视图。这些按钮中的每一个都有一个更改 globalVariable 值的操作。

//myview.m
- (IBAction)button1Action:(id)sender {
    globalVariable = 0;
}
- (IBAction)button2Action:(id)sender {
    globalVariable = 1;
}
//etc etc

然后在标签栏控制器中,只需将您的 selectedIndex 设置为 viewDidLoad 中的 globalVariable

//tabbarcontroller.m
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.selectedIndex = globalVariable;
}
4

2 回答 2

1

我自己想出来的......对于那些可能正在寻找类似解决方案的人......

我所做的只是在我的初始视图控制器中创建一个名为 globalVariable 的全局变量。

//myview.h
#ifndef Globals_h
#define Globals_h

extern NSInteger globalVariable;

#endif

使用模式推送到我的标签栏控制器的四个按钮填充该视图。这些按钮中的每一个都有一个更改 globalVariable 值的操作。

//myview.m
- (IBAction)button1Action:(id)sender {
    globalVariable = 0;
}
- (IBAction)button2Action:(id)sender {
    globalVariable = 1;
}
//etc etc

然后在标签栏控制器中,只需将您的 selectedIndex 设置为 viewDidLoad 中的 globalVariable

//tabbarcontroller.m
- (void)viewDidLoad
{
    [super viewDidLoad];
    self.selectedIndex = globalVariable;
}
于 2012-08-07T05:27:56.873 回答
0

让 IB 为您的按钮设置修饰操作

在该方法中,您希望访问作为当前控制器父级的标签栏控制器

UITabBarController tbc = (UITabBarController) [self parentviewcontroller];
tbc.selectedIndex = 2;  //or whatever the index you need
于 2012-08-07T03:17:55.303 回答