标签: uitabbar

如何在用户单击另一个选项卡后删除UITabBar徽章?

我想在用户点击其他标签后立即删除徽章.我想做:

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];

    UITabBarItem *tbi = (UITabBarItem *)self.tabController.selectedViewController.tabBarItem;
    tbi.badgeValue = nil;
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

iphone cocoa-touch objective-c uitabbarcontroller uitabbar

10
推荐指数
1
解决办法
6842
查看次数

当使用hidesBottomBarWhenPushed时,我希望当我按下另一个视图时,标签栏会重新出现

我有一个导航控制器.对于其中一个视图,我想隐藏底部标签栏,以便获得最大可能的屏幕空间.要做到这一点,我有:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.hidesBottomBarWhenPushed = YES; // To hide the tab bar
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

但是对于我推动堆栈的下一个视图,我希望标签栏重新出现.有没有办法做到这一点?

iphone objective-c uinavigationcontroller uitabbar

10
推荐指数
4
解决办法
8223
查看次数

每次单击标签栏项时,如何刷新视图?

我正在用TabBar制作一个应用程序.但是TabBarController不是RootViewController.在标签栏中有4个标签.其中一个选项卡是历史记录,它与显示历史记录的表格视图相关联.我想每次单击时刷新该视图,以便我可以获得更新的tableview.我怎样才能做到这一点?提前致谢.

iphone cocoa-touch uitabbarcontroller uitabbar ios

10
推荐指数
2
解决办法
1万
查看次数

如何像Safari应用程序一样拖动时隐藏标签栏?

我想知道如何实现一个动画,当向下拖动时隐藏标签栏,如iOS 7上的Safari应用程序.任何来自您的信息将不胜感激.

类似的问题: 显示/隐藏UIToolbar,"匹配手指运动",就像在iOS7 Safari中一样.

animation uitoolbar uitabbar ios

10
推荐指数
2
解决办法
1万
查看次数

删除UITabbar上边框线

我一直在应用程序中使用UITabbar.UITabbar顶部有一条上边界线.参考下图: -

我用Google搜索并尝试了以下建议的代码: -

[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];
Run Code Online (Sandbox Code Playgroud)

[[UITabBar appearance] setShadowImage:nil];

self.navigationController.toolbar.clipsToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

但他们都没有工作.有解决方案吗

在此输入图像描述

border line uitabbar ios

10
推荐指数
5
解决办法
8790
查看次数

显示视图控制器时缺少导航和标签栏

我正在使用3D Touch实现主屏幕快捷方式,并且它运行良好,但是我现在拥有它的方式意味着当快捷方式将用户带到特定的视图控制器时,标签栏和导航栏将丢失.

这是我的代码:

func handleShortCutItem(shortcutItem: UIApplicationShortcutItem) -> Bool {
    var handled = false

    if let shortcutType = ShortcutType.init(rawValue: shortcutItem.type) {
        let rootViewController = window!.rootViewController

        switch shortcutType {
        case .Favourites:
            let storyboard = UIStoryboard(name: "Main", bundle: nil)
            let rootController = storyboard.instantiateViewControllerWithIdentifier("favourites") as! FavouritesTableViewController
            rootController.parkPassed = DataManager.sharedInstance.getParkByName(NSUserDefaults.standardUserDefaults().stringForKey("currentPark")!)
            self.window?.rootViewController = rootController
            self.window?.makeKeyAndVisible()

            handled = true
        }
    return handled
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我需要在代码中进行更改吗?

这是右舷布局(显示了FavouritesTableViewController):

在此输入图像描述

编辑:

这是我更新的代码:

@available(iOS 9.0, *)
func handleShortCutItem(shortcutItem: UIApplicationShortcutItem) -> Bool {
    var handled = false

    if let shortcutType = ShortcutType.init(rawValue: shortcutItem.type) { …
Run Code Online (Sandbox Code Playgroud)

uinavigationbar uiviewcontroller uitabbar ios swift

10
推荐指数
1
解决办法
1833
查看次数

将一行作为选择指示符添加到Swift中的UITabbarItem

我想在UITabbarItems底部使用粗线作为选择指示器.由于应用程序必须适用于不同的手机尺寸,我无法使用图像作为选择指示器.这就是为什么我认为我必须使用Swift来做到这一点.(该行必须是页面宽度的1/3).

我尝试使用UITabBarItem.appearance()但没有成功.

uitabbaritem uitabbar swift

10
推荐指数
4
解决办法
6158
查看次数

在UITabBar顶部查看

与播放歌曲时Spotify或Apple Music应用程序的功能类似,它会在UITabBar上放置一个自定义视图: 在此输入图像描述

我试过的解决方案:

  1. 具有最大容器视图的ViewController中的UITabBarController,以及底部布局指南上方的Container View49pt顶部的自定义视图: 在此输入图像描述 问题:嵌入在底部的UITabBarController中的ViewControllers中的任何内容都不会显示,因为它们隐藏在自定义布局后面.我已经尝试覆盖size forChildContentContainerUITabBarController,尝试更新底部布局指南,Nothing.我需要调整UITabBarController的容器视图框架的大小.

  2. 再次尝试#1,但尝试通过增加UITabBar的大小来解决隐藏在其后面的内容问题,然后在每个TabBarItem上使用ImageInset将其关闭,并在UITabBar之上添加我的自定义视图.工作得不好.有时我想隐藏自定义视图.

  3. UITabBarController作为root,每个子节点都是一个ViewController,带有一个Container View +我的自定义视图: 在此输入图像描述 但现在我有多个自定义视图实例浮动.如果我想更改其上的标签,则必须将其更改为所有视图.或隐藏等

  4. 覆盖UITabBarController的UITabBar属性并返回我的自定义UITabBar(用xib充气),它有一个UITabBar +我的自定义视图.问题:可能是所有人最令人沮丧的尝试.如果使用实例覆盖该属性class MyCustomTabBar : UITabBar {},则不会显示任何选项卡!是的,我设定的委托myCustomTabBarself.

倾向于#3,但寻找更好的解决方案.

uitabbar ios swift

10
推荐指数
4
解决办法
7570
查看次数

UITabBarItem在iOS 11中的横向UITabBar中

我以编程方式将标签栏项目添加到标签栏,但是当标签栏处于横向模式时,标签栏项目不会更改为新的横向样式,左侧是图标,右侧是文本.当标签栏处于iOS 11的横向模式时,如何更新标签栏项目的样式?

这是一些要求的代码.

UITabBar *tabBar = [UITabBar new];
NSInteger tag = 0;
NSMutableArray<UITabBarItem *> *items = [NSMutableArray new];
for(UIViewController *viewController in viewControllers)
{
    NSString *title = viewController.title;
    UIImage *image = [UIImage imageNamed:title];
    UITabBarItem *tab = [[UITabBarItem alloc] initWithTitle:title image:image tag:tag++];
    [items addObject:tab];
}

tabBar.items = items;
[self.view addSubview:tabBar];
Run Code Online (Sandbox Code Playgroud)

uitabbaritem uitabbar ios11

10
推荐指数
1
解决办法
1062
查看次数

iOS 7:UITabBarItem徽章z-index

我想在UITabBarItem上方展示徽章selectionIndicatorImage.有3个截图:

截图

在此输入图像描述

浅灰色是selectionIndicatorImage.是的,徽章看起来不错.当我在内部触摸云图标时UITabBar变为:

在此输入图像描述

这是错的..我想在选择图像上方显示徽章.如果没有图标UITabBar- 它看起来不错.

在此输入图像描述

我该如何解决这个问题?提前致谢.

编辑

我在故事板中添加了图标.对于徽章,我已经制作了代码:

UITabBarItem *cartTabBarItem = (UITabBarItem *)[self.tabBarController.tabBar.items objectAtIndex:3];
if ([[DataSourceWrapper getInstance] getFullCost] == 0)
         cartTabBarItem.badgeValue = nil;
    else
        cartTabBarItem.badgeValue = [NSString stringWithFormat:@"%.0f ???", [[DataSourceWrapper getInstance] getFullCost]];
Run Code Online (Sandbox Code Playgroud)

对于selectionIndicatorImage

[[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"selected-tabbar-bg.png"]];
Run Code Online (Sandbox Code Playgroud)

objective-c uitabbar badge ios

9
推荐指数
1
解决办法
1563
查看次数