标签: tabbarcontroller

修改uitabbarcontroller项的标题和图标

如何修改TabBarController项目的标题和图标?可以直接在Interface Builder中使用吗?

iphone interface-builder tabbarcontroller ios5

6
推荐指数
1
解决办法
8631
查看次数

单击UITabBarController时的自定义操作

我有一个标签栏控制器,它添加了四个导航控制器.导航控制器在选项卡栏控制器中显示为选项卡栏项目.现在我想在标签栏中添加第五个按钮,它不会打开另一个视图,但会触发一些自定义代码.我想在单击该标签栏项目时显示重叠的"共享菜单",无论用户在哪四个页面中.我怎样才能做到这一点?

objective-c uitabbarcontroller uitabbaritem tabbarcontroller ios

6
推荐指数
1
解决办法
5692
查看次数

Xcode 4中没有mainwindow.xib混淆了如何让我的TabBarController使用NavigationController

这在Xcode 3中非常简单.但是我完全迷失在Xcode 4中.*看起来根本就没有使用IB.并且所有TabBarController代码都在代码中.

问题:如何在使用TabBarController模板时将NavigationBarController添加到Xcode生成的默认代码中?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];

UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];

self.tabBarController = [[UITabBarController alloc] init];

self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];

self.window.rootViewController = self.tabBarController;

[self.window makeKeyAndVisible];

return YES;

}
Run Code Online (Sandbox Code Playgroud)

iphone tabbarcontroller

5
推荐指数
2
解决办法
2444
查看次数

在IB中,当按下"Hides Bottom Bar When Pushed"时,UITableView顶部的黑条闪烁

这是一个奇怪的错误,可能只是我所知道的Xcode中的一个问题.我有一个标签栏控制器,其中第一个视图是一个UITableView(显然)有许多单元格.当您选择一个单元格时,我在MainStoryboard上设置了一个segue以转到详细视图控制器.我希望在进入详细视图时隐藏标签栏,因此我进入故事板,选择我的详细视图,然后在编辑器屏幕中单击"隐藏底部栏",以"模拟度量标准"开头.

一切都运行得很好,除了当我点击一个单元格时,UITableView屏幕顶部闪烁黑条,向下放下tableview单元格(好像单元格在底部的标签栏下面落下),就在之前屏幕突然移动到详细视图.效果根本没有害处,但它非常令人不安,我想让它顺利出来.

我发现的唯一修复是在故事板上取消选中"Hiding Bottom Bar when Pushed"选项.这确实摆脱了那个黑条闪光,但当我进入细节视图当然标签栏停留在屏幕上,这是我不想要的.

有任何想法吗?

为了完整起见,我继续前进并跑了

[self.navigationController setToolbarHidden:YES animated: YES];
Run Code Online (Sandbox Code Playgroud)

在详细视图控制器的viewWillAppear方法(甚至尝试使用故事板选项打开和关闭),但没有区别.工具栏确实隐藏得很好,但我仍然在顶部有那条黑线.太奇怪了.

tabbar uitabbarcontroller uitableview tabbarcontroller ios

5
推荐指数
1
解决办法
2603
查看次数

在标签栏控制器项目中的2个ViewControllers之间进行通信

我在我的项目中使用Tab Bar Controller,其中FirstViewController具有Mapbox地图视图,而SecondViewController具有按下按钮,按下时将贴图层添加到地图视图.这是我尝试过的.它会产生错误***在SecondViewController.m中使用未声明的标识符'_mapView'

//FirstViewController.h

#import <UIKit/UIKit.h>
#import <MapBox/MapBox.h>
#import "SecondViewController.h"
#import "SecondViewController.m"

@interface FirstViewController : UIViewController


@property (strong, nonatomic) IBOutlet RMMapView *mapView;


@end


//SecondViewController.h

#import <UIKit/UIKit.h>
#import <MapBox/MapBox.h>
#import "FirstViewController.h"
#import "FirstViewController.m"


@interface SecondViewController : UIViewController

- (IBAction)stationingLayerButton:(id)sender;

@end


//SecondViewController.m

- (IBAction)stationingLayerButton:(id)sender {

RMMBTilesSource *stationingMap = [[RMMBTilesSource alloc] initWithTileSetURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Stationing20" ofType:@"mbtiles"]]];


[_mapView addTileSource:stationingMap atIndex:2]; 

 }
}
Run Code Online (Sandbox Code Playgroud)

地图调用是正确的,因为我在仅使用一个视图控制器的项目上测试了它.现在我正在Tab Bar Controller上尝试它,我得到了这个错误.

我的问题是

1.如何在FirstViewController中获取mapView以响应SecondViewController中的调用?这可以吗?我已经导入了类文件,认为这会打开两者之间的通信,但我坚持这个错误.

objective-c uitabbarcontroller tabbarcontroller ios ios7

5
推荐指数
1
解决办法
7496
查看次数

UITabBarController 的 iOS 状态恢复不恢复子视图控制器或选定的索引

(这是我第一次在StackOverflow上提问,如有问题请见谅)

我的问题归结为无法正确恢复UITabBarController. 这是一个基于选项卡的应用程序,我没有使用故事板。

我选择了状态恢复。我已经ViewController在各自的init方法中为我的所有自定义s 提供了唯一的恢复标识符和恢复类。

至于UITabBarController,我在创建时为其提供了唯一的恢复标识符。因为我没有给它一个恢复类,所以我在app委托中实现了以下代码:

- (UIViewController *)application:(UIApplication *)application viewControllerWithRestorationIdentifierPath:(NSArray *)identifierComponents coder:(NSCoder *)coder 
{
    UITabBarController *vc = [[UITabBarController alloc] init];

    vc.restorationIdentifier = [identifierComponents lastObject];

    if ([identifierComponents count] == 1) {
        self.window.rootViewController = vc;
    }

    return vc;
}
Run Code Online (Sandbox Code Playgroud)

我在其他app中也用过同样的方法来恢复NavigationControllers的状态,一切都很顺利。但是,当我使用 为这个应用程序执行此操作时TabBarController,应用程序启动时为空TabBarControllerTabBarController已恢复,但不会恢复它的子视图控制器)。

这对我来说并不是一个巨大的冲击,我想只是本质上UITabBarControllers 不会保留对其子视图控制器的引用,而不是用于状态恢复的选定选项卡索引。但是,尽管在网上搜索了很多小时,但我无法获得有关如何保留 a TabBarController(without storyboard)状态的任何说明。任何有关如何做到这一点的帮助将不胜感激。

再次,如果我没有提供足够的细节或不够清楚,我很抱歉。请让我知道您在答案中需要什么,我会提供。我知道我没有提供很多代码,但我真的只需要有关如何在没有故事板的情况下保留基于 Tab 的应用程序状态的说明。它不需要根据我的具体情况量身定制;我将能够自己应用一般过程。

谢谢!

state uitabbarcontroller tabbarcontroller ios swift

5
推荐指数
1
解决办法
1521
查看次数

如何使用tabbarcontroller在应用程序加载上消除视图控制器

我使用tabbarcontroller作为根视图控制器.不幸的是,使用新的故事板功能,很难在应用程序加载上划分视图控制器 - 登录页面.

我使用以下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;

    [tabBarController performSegueWithIdentifier:@"loginPage" sender:self];
Run Code Online (Sandbox Code Playgroud)

segue设置正确.我进入了一个选项卡视图控制器并制作了一个IBAction并成功进行了搜索.提前致谢.

storyboard tabbarcontroller ios5

4
推荐指数
1
解决办法
3628
查看次数

tabBarController是零; 无法更改viewDidLoad上的selectedIndex

我有一个像这样的UITabBarController:

/*SomeTabBarController.h*/
@interface SomeTabBarController: UITabBarController
@end
Run Code Online (Sandbox Code Playgroud)

SomeTabBarController.m中我想更改viewDidLoad上的活动选项卡

-(void)viewDidLoad
{
  [super viewDidLoad];
  self.tabBarController.selectedIndex = 2;
}
Run Code Online (Sandbox Code Playgroud)

但是,tabBarController是.我错过了什么?我有一个导航控制器和segue推送到标签栏控制器...

谢谢

tabbar uitabbarcontroller tabbarcontroller uitabbar ios

4
推荐指数
1
解决办法
3424
查看次数

我想从视图控制器转到UITabBarController中的特定选项卡

首先,让我说我是一个绝对的初学者,所以请原谅我,如果这是一个愚蠢的问题要问.我只想补充一点,我花了几个小时/几天试图弄清楚如何解决这个问题 - 包括对stackoverflow的广泛搜索(也许答案在某处,我现在不知道究竟要搜索什么:) .

但是,让我们继续:我对Xcode故事板项目有一个小问题.基本上我的项目看起来像这样:

导航控制器 - >查看控制器0 - >标签栏控制器 - <查看控制器1,视图控制器2,视图控制器3.

当用户在视图控制器0中按下"按钮#2"时,我希望他/她直接跳到"查看控制器2".

这有可能吗,如果是的话,应该使用什么代码,并且我应该把它放在哪里.

希望有人在那里帮助新手:)

此致,Ulrik

xcode tabbarcontroller

4
推荐指数
2
解决办法
6092
查看次数

iPad全屏模态查看TabBarController?

在iPad上基于TabBar的应用程序上,有没有办法在"FullScreen"中呈现模式?

我有一个仅限LANDTSAPE的应用程序(如果这有所不同)和我想要以模态方式呈现的项目我想要全屏显示,填写整个屏幕只是为了澄清.我可以在"PageSheet"中显示它,并且"FormSheet"没问题,在模态视图笔尖上进行了几次按钮调整后,但是一旦我尝试"FullScreen",背景变为白色(TabBar仍在那里),并且如果我重试按下按钮(不重新启动模拟器),它将不会响应.

按钮所在的视图用于显示模态视图是CountryViewController.m并具有以下操作:

-(IBAction) showNewModal:(id)sender {
modalContent.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
modalContent.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:modalContent animated:YES];
}
Run Code Online (Sandbox Code Playgroud)

我已经意识到,没有TabBar,这段代码工作正常.我已经花了好几个小时来添加到这段代码甚至是AppDelegate.h和.m文件,但到目前为止,它要么没有响应(奇怪的是没有显示错误)或前面提到的空格.

views modal-dialog tabbarcontroller ios

3
推荐指数
1
解决办法
2652
查看次数