移除系统自带的tabBarItem

本文介绍如何在iOS应用中使用Objective-C编程语言,通过遍历并删除UITabBarController中的子视图来移除系统默认的TabBarItem。此方法适用于希望自定义底部导航栏样式的开发者。

在UITabBarController里

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    
    //删掉系统默认的tabBarItem
    for (UIView *child in self.tabBar.subviews) {
        if ([child isKindOfClass:[UIControl class]]) {
            [child removeFromSuperview];
        }
    }
}


// entry/src/main/ets/Index.ets import { router } from '@kit.ArkUI'; import { MessageList } from './MessageList'; @Entry @Component struct Index { @State currentIndex: number = 0; build() { Tabs({ index: this.currentIndex, barPosition: BarPosition.End }) { TabContent() { Column() { Text("微信") } } .tabBar(this.TabBarItem(0, $r('app.media.messagedark'), $r('app.media.message'), "微信")) TabContent() { Column() { Text("通讯录") } } .tabBar(this.TabBarItem(1, $r('app.media.persondark'), $r('app.media.person'), "通讯录")) TabContent() { Column() { Text("发现") } } .tabBar(this.TabBarItem(2, $r('app.media.finddark'), $r('app.media.find'), "发现")) TabContent() { Column() { Text("我") } } .tabBar(this.TabBarItem(3, $r('app.media.minedark'), $r('app.media.mine'), "我")) } .width('100%') .height('100%') } @Builder TabBarItem(index: number, icon: Resource, icon_selected: Resource, text: string) { Column({ space: 5 }) { Image(this.currentIndex === index ? icon_selected : icon) .width(30) .height(30) Text(text) .fontSize(14) .fontWeight(FontWeight.Medium) .fontColor(this.currentIndex === index ? "#4594D5" : "#cccccc") } .onClick(() => { this.currentIndex = index; switch (index) { case 0: router.pushUrl({ url: 'entry/pages/MessageList' }); break; case 1: router.pushUrl({ url: 'entry/pages/ContactList' }); break; case 2: router.pushUrl({ url: 'entry/pages/FoundPage' }); break; case 3: router.pushUrl({ url: 'entry/pages/MinePage' }); break; } }) } } 修改代码使得点击微信按钮跳转到messagelist页面,直接在 TabContent 中嵌入
最新发布
07-04
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值