标签: uitabbarcontroller

如何知道 - 在iPhone中查看控制器的当前视图

我们有一个例子.

  • 在应用程序中我有一个标签栏控制器.
  • 标签栏动态有两个项目 - 两个视图控制器.
  • 用户可以选择任何选项卡.
    • 假设用户选择第一个选项卡.
    • 第一个视图控制器已加载.
    • 现在他点击了First view controller的按钮.
    • 从First View控制器 - >推送第二个视图控制器.
  • 现在,当用户点击标签栏第一项时
    • 弹出第二个视图.

这通过标签栏控制器默认完成.现在,如果我想检查以下情况

  • if(标签栏第一个项目 - 视图控制器有第一个视图控制器视图)
    • 然后执行此操作
  • if(标签栏第一个项目 - 视图控制器有第二个视图控制器视图)
    • 然后执行此操作

如何实现这个逻辑?

iphone xcode uitabbarcontroller

0
推荐指数
1
解决办法
7794
查看次数

TabBarController setSelectedIndex函数不起作用

我有与以下链接中出现的完全相同的问题

如何从UIButton切换到Tab Bar项目?

不幸的是,到目前为止我找不到任何解决方案

备注:

1)我正在使用iOS 5和故事板 - 如果有所作为 -

2)我已经尝试过[self.tabBarController.tabBar setSelectedItem:[self.tabBarController.tabBar.items objectAtIndex:3]];,也没用

3)我试图为标签栏设置IBOutlet并直接访问它,但是当我调用[self.myTabbar setSelectedItem:[self.myTabbar.items objectAtIndex:3]];并且出现此错误时应用程序崩溃了:不允许直接修改由标签栏控制器管理的标签栏

在此输入图像描述

iphone storyboard uitabbarcontroller uitabbar ios5

0
推荐指数
1
解决办法
9380
查看次数

XCode:从特定选项卡中删除选择指示器图像

我正在使用自定义标签栏图像,中间标签也是自定义图像(很像旧版本的Instagram).

这是我的一些代码:

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

    [tabBar setBackgroundImage:[UIImage imageNamed:@"CustomTabBar.png"]];

    UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
    tabBarItem3.title = nil;
    tabBarItem3.image = nil;
    [tabBarItem3 setFinishedSelectedImage:[UIImage imageNamed:@"tab-button-selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab-button.png"]];
Run Code Online (Sandbox Code Playgroud)

这很好用,但我有一个问题我无法解决.默认情况下,所选选项卡具有浅灰色背景.这是我想要保留的效果,但不适用于中间选项卡.中间选项卡是一个较大的圆形图像,在选中时会发生变化,但仍会出现灰色背景.

有没有办法删除这个,[tabBar setSelectionIndicatorImage:[[UIImage alloc] init]];但仅限于该选项卡.或者,在应用程序委托中,检测选项卡中的更改并将其删除?

iphone xcode objective-c uitabbarcontroller

0
推荐指数
1
解决办法
3099
查看次数

在委托方法tabBarController shouldSelectViewController中检查所需的视图控制器:

我有3个TabBarItemsUITabBarController:

<UINavigationController: 0xc76a680>
<SplitViewController: 0xc76a170>
<UINavigationController: 0xca5e6f0>
Run Code Online (Sandbox Code Playgroud)

我有这个方法AppDelegate:

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
    NSLog(@"tab selected index %@",viewController);
    if (viewController == nil ) // I NEED TO IMPLEMENT A CHECk HERE
    {
        //show popup

        return NO; //does not change the tab
    }

    return YES; //does change the tab
}
Run Code Online (Sandbox Code Playgroud)

那么如何检查应该选择的视图控制器是第二个导航控制器?谢谢

objective-c uitabbarcontroller ios

0
推荐指数
1
解决办法
1618
查看次数

UITabBarController隐藏的UITableView最后一个单元格

我面临一个奇怪的问题.

我有一个UITableView在最初UIViewControllerUITabBarController.一开始一切都没问题,但是当我更改标签并返回第一个标签时,标签栏UITableView会隐藏最后一个标签.

我怎样才能解决这个问题?

objective-c uitabbarcontroller uitableview uitabbar ios

0
推荐指数
1
解决办法
1539
查看次数

UITabBar显示更多图标而不是"更多"选项

我目前正在尝试使用UITabBar包含7个tabBar项目的iOS应用程序.

当我使用故事板时,我能够实现所有7 tabBarItems.当我以编程方式添加时tabBarItems,它会强制使用"更多"按钮来访问其他tabBarItems.

有没有办法以编程方式保留所有7个tabBarItems,就像我手动创建时一样UITabBar

我在说什么的例子

我用来在appdelegate.m中构建uitabbar的代码

  self.tabBarController = [[UITabBarController alloc] init];
  FirstViewController *firstVC = [[FirstViewController alloc] init];
  SecondViewController *secondVC = [[SecondViewController alloc] init];
  ThirdViewController *thirdVC = [[ThirdViewController alloc] init];
  FourthViewController *fourthVC = [[FourthViewController alloc] init];
  FifthViewController *fifthVC = [[FifthViewController alloc] init];
  SixthViewController *sixthVC = [[SixthViewController alloc] init];
  SeventhViewController *seventhVC = [[SeventhViewController alloc] init];

  NSArray *controllers = @[firstVC, secondVC, thirdVC, fourthVC, fifthVC, sixthVC, seventhVC];

  self.tabBarController.viewControllers = controllers;
  self.window.rootViewController = self.tabBarController;
  [_window addSubview:_tabBarController.view];
Run Code Online (Sandbox Code Playgroud)

iphone uitabbarcontroller ios

0
推荐指数
1
解决办法
923
查看次数

UIStoryboard中的iOS 8自定义选项卡栏控制器

我试图在iOS 8的UIStoryboard中使用swift创建自定义标签栏控制器(objective-c也没关系).所以,我计划使用这段代码.

let item0: UITabBarItem = UITabBarController().tabBar.items[0] as UITabBarItem
item0.setFinishedSelectedImage(selectedImage0, withFinishedUnselectedImage: unselectedImage0)
Run Code Online (Sandbox Code Playgroud)

但是,问题是setFinishedSelectedImage不再支持,我看到了这个错误.我该如何实施?

从iOS 7及更早版本开始不推荐使用的API在Swift中不可用

uitabbarcontroller uistoryboard swift ios8

0
推荐指数
1
解决办法
4235
查看次数

iOS 7/8如何设置标签栏文字颜色

我在app delegate中设置了标签栏的颜色:

[[UITabBar appearance] setTintColor:[UIColor redColor]];
Run Code Online (Sandbox Code Playgroud)

它工作得很完美,但我还需要单独设置文本颜色.我希望我的图像是红色的,但文字必须是白色.

这有可能吗?

uitabbarcontroller ios ios7 ios8

0
推荐指数
1
解决办法
1647
查看次数

无法选择要在标签栏控制器中显示的特定标签索引,始终显示第0个索引

我有一个带有四个标签的标签栏控制器。我想在开始时显示第一项。通过单击第一项(视图)中的按钮,单击该按钮时,我要显示第二个选项卡。我怎样才能做到这一点?

我创建了一个自定义tabbarController类,并尝试给出tabbarindex如下所示的内容。我一开始没有按一下按钮就检查过,但是没有用。它始终加载第一个选项卡栏项目。

class HTabViewController: UITabBarController, UITabBarControllerDelegate {
    var controllerArray : [UIViewController] = []

    override func viewDidLoad() {
        super.viewDidLoad()
        self.tabBarController?.selectedIndex = 2
        self.tabBar.tintColor = UIColor.red
       // defineViewController()
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:单击按钮是否可以显示特定的选项卡项目?

selectedindex uitabbarcontroller ios swift

0
推荐指数
1
解决办法
726
查看次数

Tab Bar隐藏包含CollectionViewController的CustomView

在此输入图像描述我创建了一个customView包含集合视图的单独类Xib,然后我尝试将其加载customView到连接到a的控制器视图之一Tab Bar Controller.视图将完美加载,但集合视图的最后一项隐藏在选项卡栏后面.为此提供解决方案会很棒.

我的customView看起来像 在此输入图像描述

uitabbarcontroller ios swift

0
推荐指数
1
解决办法
79
查看次数