Tag: uitabbarcontroller

iOS启动故事板:如何更改标签栏的颜色?

我在做什么: 使用“发射故事板”。 这很简单,并包含一个默认的UITabBarController。 我已经在启动故事板以及我的应用程序中将标签栏的“tintColor”设置为红色。 我正在使用Xcode 7,iOS 9。 什么不行: 启动屏幕使用默认的蓝色iOS tint颜色加载标签栏…! 然后加载后,更换启动屏幕故事板时,色调颜色将切换为红色。 你究竟想要在故事板上设置一个标签栏的色调? 演示项目: http : //s000.tinyupload.com/?file_id=73998115878034693063

在UINavigationController中支持纵向和横向视图的最佳实践

我search了高和低,我不知道我出来是处理这个问题的最好方法(虽然它似乎是唯一的一个)。 根据要使用多个笔尖为不同的iPhone界面方向,我实施了相关的方法,似乎一切工作正常。 不幸的是,我不得不处理一个UINavigationController,每个页面都必须支持纵向和横向模式,并在两种模式下重现相同的function。 这意味着,如果用户在某个时候决定从纵向切换到横向,整个应用程序应该允许他在所选的模式下来回浏览页面。 显然,缺less的文档是如何处理这个问题。 在我的看法中,我有一些附加的showChild方法来执行导航的button。 所有在纵向模式下都能正常工作(就我所知,这是默认模式)。 方法是这样的: – (IBAction)showChild:(UITapGestureRecognizer *)sender { UIView *view = [sender view]; PortraitViewController *nextPortraitViewcontroller = [[PortraitViewController alloc] initWithNibName:@"Portrait" bundle:nil]; [self.navigationController pushViewController:nextPortraitViewcontroller animated:YES]; } 但是,当涉及到景观模式,我得到了混合的结果。 在LandscapeViewController类中的showChild:方法是完全一样的,它从PortraitViewController开始build立一个视图,并将其推送到导航控制器。 这一切似乎都进展顺利,但是当我回到原来的位置时,显示的是前一个PortraitViewController,而不是风景,而且它的子视图都是分散的,而不是放在他们的位置。 现在的问题是:因为苹果公司似乎并不关心文档和最佳实践(这个机制是非常不理想的,我可以说这是来自人机交互devise和编程的背景),那么什么是correc – 苹果方式这样做?

TabBarController didSelectViewController不起作用

我知道这是一个非常重复的话题,但我无法得到它的工作。 MainTab.h: #import <UIKit/UIKit.h> @interface MainTab : UITabBarController<UITabBarControllerDelegate, UITabBarDelegate> { IBOutlet UITabBarController *tabController; } @property (nonatomic,retain) IBOutlet UITabBarController *tabController; @end MainTab.m – (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } – (void)viewDidLoad { NSLog(@"main tab"); [super viewDidLoad]; self.tabBarController.delegate = (id)self; [self setDelegate:self]; // […]

检测何时从App Delegate通过UITabBarController按TabBar项目

我知道这个问题已经被问了几次,但我仍然坚持的情况下,当我有我的AppDelegate类中的我的UITabBarController和viewControllers设置那里只有作为 self.tabBarController.viewControllers = @[aboutUsNavController,myProfileNavController, projectsListNavController, feedsNavController,homeViewController]; 现在我想要的是在TabBar项目feedsNavController执行任务,而不是在 viewWillAppear (因为它正在通过navigationController推送一个detailView )。 我已经在同一个类中设置委托来执行UITabBarController委托方法: AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; appDelegate.tabBarController.delegate = self; 但-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController只适用于当我切换TabBar项目, 但不是在第一次 ? 有什么办法可以调用UITabBarDelegate : -(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item 为了得到tabBar item被按下时的参考? 或者任何其他的方法,将不胜感激。

检测UITabBar选定的索引/项目更改以编程方式设置

我想知道当 编程完成所做的更改时 ,如何检测选定的TabBar项目或索引是否更改? self.tabBarController.selectedIndex = 1; 这两个代表function只检测用户selecttabBar项目时的变化。 当对selectedIndex的更改以编程方式完成时,它不会触发。 func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) { println("tabBarController didSelectViewController") } override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) { println("tabBar didSelectItem") }

防止tabbar在特定索引处更改选项卡 – IOS

感谢您阅读我的问题。 我试图实现一个popup菜单,当用户点击索引为4的选项卡。所以我试图防止tabbar切换索引4时按下viewcontroller。 这是我的代码: – (BOOL) tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController { if(viewController == [tabBarController.viewControllers objectAtIndex:4]){ NSLog(@"NO"); return NO; }else{ NSLog(@"YES"); return YES; } } 我已经实现了UITabBarControllerDelegate和self.delegate = self; 在viewDidLoad和它的作品,但只是一次。 当我点击索引4选项卡菜单显示和tabbar不切换视图( 伟大 ),但是当我再次单击视图时,即使我得到日志“否”更改视图。 这里可能是什么问题? 谢谢你的任何build议! 解决了 感谢Kasaname的答案,我通过添加selectedIndex来解决它,并将其设置为一个标志索引(prevtab)。 我将prevtab更改为最后选定的选项卡的索引,当用户select索引4时免除。我的最终代码: – (BOOL) tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController { if(viewController == [tabBarController.viewControllers objectAtIndex:4]){ self.selectedIndex = prevTab; //only change in this method return […]

如何添加图像在iOS 6的UITabBarController的'更多'button?

我知道如何添加UITabBarController以及如何使用它,我已经完成了。 我的问题是,我无法在UITabBarController 'more'选项卡上添加图像。 我知道有很多类似的问题,但没有帮助我。 谷歌search后,我发现我们不能添加图像在'More'选项卡在UITabBarController因为more选项卡是UITabBarController自动显示UITabBarController时更多然后5。 我可以find如何更改select颜色和标题的 'more'button,但我找不到'more'button图像。 所以可能是我需要自定义UITabBarController所以,我也在寻找UITabBarController自定义,但无法find它。 请帮我解决这个问题。

Swift – TabBarController – > ViewController – > NavigationController

我有以下情况: 我有一个TabBarController与一些选项卡(ViewControllers)。 当我在这些ViewControllers之一,我点击一个button,我想segue到一个NavigationController,仍然看到tabbar … 这是我做的: 我创build了一个新的ViewController(DetailViewController) 我将这个新的ViewController(DetailViewController)embedded到NavigationController中 我从“tabbarcontroller中embedded的viewcontroller”创build一个segue(Show)到“new navigationcontroller” 我编码: func buttonTapped { performSegue(withIdentifier: "shownavicontroller", sender: nil } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let destinationNavigationController = segue.destination as! UINavigationController let targetController = destinationNavigationController.topViewController as! DetailViewController } 出了什么问题: NavigationController从下到上滑动…它应该从左向右滑动 NavigationController中的BackButton丢失 NavigationController中的TabBar缺less… 有人可以帮我解决这个问题吗? 感谢和问候!

ios将数据从TabbarController传递到Storyboard中的ViewController

在storboard编辑器中,我有一个TabBarController和4个选项卡。 当我select第4个选项卡时,我想向其视图控制器发送一个string。 在我的TabbarController类(名为TabBarVC)中,我实现了以下方法: – (void)tabBarController:(UITabBarController *)theTabBarController didSelectViewController:(UIViewController *)viewController { NSUInteger indexOfTab = [theTabBarController.viewControllers indexOfObject:viewController]; if(indexOfTab == 3) { SupplierListVC *slvc = (SupplierListVC *) viewController; slvc.locationType = @"favorite"; self.tabBarController.selectedViewController = slvc; } } 这种方法被称为很好,但string没有得到通过。 当我debugging时,我注意到,上面的一段代码是在供应商ListListVC的viewDidLoad之后调用的。 我在这里做错了什么? 当我select选项卡时,如何传递string?

单击UIBarbutton时删除TabBar控制器

在我的应用程序中,首先我有一些login视图控制器,login后button动作移动到Tabbar控制器与四个选项卡。 我的问题是我需要退出该tabbar控制器,当我点击barbutton,需要来的loginViewController.please有人帮我在这个。其实我已经尝试了一些方法,但我dint得到的。 感谢提前解决问题的宝贵scheme。