Tag: uitabbarcontroller

在Swift中设置UITabBarController的视图控制器

我想以编程方式设置我的自定义TabBarController的视图控制器: import UIKit class TabBarViewController: UITabBarController, UITabBarControllerDelegate { var cameraViewController: UIViewController? var profileViewController: UIViewController? override func viewDidLoad() { super.viewDidLoad() self.delegate = self //self.viewControllers = [cameraViewController, profileViewController] as! [AnyObject]? let controllers: [UIViewController?] = [cameraViewController, profileViewController] self.setViewControllers(controllers as! [AnyObject], animated: true) } 但是与线 self.viewControllers = [cameraViewController, profileViewController] as! [AnyObject]? 我得到一个错误,我不能将[UIViewController]转换为[AnyObject?] 和线 self.setViewControllers(controllers as! [AnyObject], animated: true) 我得到一个错误说: […]

导航控制器与标签栏控制器的组合

正如我在标题中提到的,我想将Navigation Controller添加到已经具有Tab Controller应用程序中。 所以试图做这个页面上的工作人员。 无论如何,有些事情是错的。 UINavigationController正在寻找一个空白页面,即使有一个视图和一些库。 让我从头开始: 在我的AppDelegate ,我设置了标签栏控制器,如下所示: @interface MYAppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @property (strong, nonatomic) UITabBarController *tabBarController; @end 这里是.m文件: @implementation MYAppDelegate @synthesize window = _window; @synthesize tabBarController = _tabBarController; – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { application.applicationSupportsShakeToEdit = YES; self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; UINavigationController *viewController1 = […]

是否可以删除UITabBarItem中的图像并垂直alignment标题

我有一个UITabBar但我不想设置图像,我只是想设置标题,我希望这个标题垂直alignment。 这可能吗? 谢谢

如何以编程方式触发方法“tabBarController:didSelectViewController:”?

目前,我正尝试通过以下代码以编程方式触发“didSelectViewController”方法: self.tabController.selectedViewController = [self.tabController.viewControllers objectAtIndex:NEWSTAB_INDEX]; 但是,“didSelectViewController”方法没有被调用。 我怎样才能触发的方法,而不必手动select标签栏?

根据视图控制器的显示方式,隐藏导航栏

我有一个标签栏与导航控制器在其中一个选项卡。 目前的导航控制器的根视图没有导航栏显示和很好的animation子视图 – (void)viewDidLoad { … [self.navigationController setNavigationBarHidden:YES animated:NO]; … } 和 – (void)viewWillAppear:(BOOL)animated { [self.navigationController setNavigationBarHidden:YES animated:YES]; } – (void)viewWillDisappear:(BOOL)animated { [self.navigationController setNavigationBarHidden:NO animated:YES]; } 但当然,改变选项卡启动viewWillAppear函数,所以我回到导航栏滑动的根视图,而不是只是不在那里。 有没有一种方法,我可以隐藏在根视图上的导航栏,而没有animation,除了从导航堆栈上的子视图出现?

如何在iOS 7和iOS 8上正确定制UITabBar和UITabBarItem?

我正在search这么多,但是我找不到一个直截了当的答案。 我想自定义我的UITabBarController ,使: UITabBar本身是完全黑色的 项目标题的文本颜色在非高亮状态下为白色 项目标题的文本颜色在突出显示的状态下为红色 在标签栏中使用多彩的图标 1.将UITabBar黑色 我猜我需要使用这个UIAppearance API,实际上我能够使用UITbarBar black: [[UITabBar appearance] setBarTintColor:[UIColor blackColor]]; 。 2.和3.修改项目标题的颜色 然而,文字项目的颜色似乎并没有做我想要的东西,search后,下面的解决scheme对我来说是有意义的,但它只会改变非高亮状态为白色, 突出显示保持白色以及… NSDictionary *titleAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; [[UITabBarItem appearance] setTitleTextAttributes:titleAttributes forState:UIControlStateNormal]; UIColor *titleHighlightedColor = [UIColor redColor]; NSDictionary *highlightedTitleAttributes = @{NSForegroundColorAttributeName : titleHighlightedColor}; [[UITabBarItem appearance] setTitleTextAttributes:highlightedTitleAttributes forState:UIControlStateHighlighted]; 4.多彩多姿的项目 关于五彩的图标,到目前为止,只是简单地设置故事板中的图标,如下所示: 但是这并不是我想要的,只有在没有select该项目时才显示整个图标。 当select该项目时,图标完全消失。 这是原始图标: 这是项目未被选中时的样子: 在这里,它是在选定的声明,如提到的图标完全消失: 所以,我的问题是我如何能够达到上述要求。 我目前错过了什么? 我在代码中比在故事板中做的更好吗? […]

UITabBarController没有更多的ViewController的最大数量的选项卡

实际上创build一个UITabBarController并执行相关的实验,iOS是否有一个编程方式来获得tabBarController中显示的最大数量的选项卡,而没有“更多”选项卡? 这对我正在做的一些跨平台的工作是非常有帮助的。

iOS 7 UITabBar徽章位置

有没有办法在iOS 7中调整UITabBar徽章的位置? 徽章现在阻止标签栏图标比我想要的多一点。 iOS 6: IOS 7:

在UITabBar应用程序中旋转一个UIViewController

我有uitabbar应用程序,我想旋转一个ViewController与横向模式的图表。 有可能做到这一点?

在Swift中删除TabBar项目

我目前尝试find一种方法来删除运行应用程序TabBar项目时,我find了一种方法来启用或禁用它,但不完全删除它。 为了禁用它,我做: 在ViewDidLoad中 if let tabBarItem = self.tabBarController?.tabBar.items?[3] as? UITabBarItem { tabBarItem.enabled = false } 这工作得很好,但用户仍然可以看到TabBar项目,我只是完全删除它,有没有办法? 我想通过Parse触发TabBarItem,如果我把Parse数据设置为true,它应该显示其他方式不应该。