IOS 自定义滑动Tab(顶部) 带滑动的条条

iOS小技能:自定义tab滑块( segment功能+label混合显示)【应用场景:商户交易汇总表使用tab滑块进行切换/筛选不同级别的代理商数据】 前言 需求:商户交易汇总表优化 使用tab滑块 进行切换数据 Use 初始化控件 /** 本级代理商数据 下级代理商数据 */ - (CRMMultipleSwitch *)MultipleSwitch{ if (nil == _MultipleSwitch) { CRMMultipleSwitch *switch1 = [[CRMMultipleSwi... 阅读详情


// 代码写得也比较粗糙, 希望能有帮助吧

// 看下文件的目录





// 开始代码啦 ********************


//

//  WWCSwitchTabViewController.h

//  TestCAOrUIViewAnimationApp7-30

//

//  Created by Whitney.c on 15/8/7.

//  Copyright (c) 2015年 ZhongShan Sun union Medical Technology Co. Ltd. All rights reserved.

//


#import <UIKit/UIKit.h>

#import "WWCSwitchTabView.h"


#import "WWCFavoriteTabView.h"

#import "WWCBestLoveTabView.h"

#import "WWHistoryTabView.h"


#define tabViewHeight 40


@interface WWCSwitchTabViewController :UIViewController <SwitchTabTestDelegate>

{

    


    WWCSwitchTabView *switchTabView;

    

    

    NSArray *data;

    

    

    WWCFavoriteTabView *favoriteView;

    WWCBestLoveTabView *bestLoveView;

    WWHistoryTabView *historyView;

    

    NSArray *arrVies;

}



@end


//

//  WWCSwitchTabViewController.m

//  TestCAOrUIViewAnimationApp7-30

//

//  Created by Whitney.c on 15/8/7.

//  Copyright (c) 2015年 ZhongShan Sun union Medical Technology Co. Ltd. All rights reserved.

//


#import "WWCSwitchTabViewController.h"

#import "GeneralMarro.h"


@interface WWCSwitchTabViewController ()


@end


@implementation WWCSwitchTabViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view.

    

    self.view.backgroundColor = [UIColor whiteColor];

    

    self.title =@"SwitchTest";

    

    [self loadSelfLayoutSubviews];

    

}


-(void)loadSelfLayoutSubviews

{

    

    data = [[NSArray alloc] initWithObjects:@"收藏",@"最爱",@"历史",nil];

    

    switchTabView = [[WWCSwitchTabView alloc] initWithFrame:CGRectMake(0,0, ScreenWidth, tabViewHeight)];

    switchTabView.switchTabDelegate = self;

    

    [self.view addSubview:switchTabView];

    

    

    [self initSwitchView];

}



-(void)initSwitchView

{

    CGFloat height = CGRectGetHeight(self.view.frame) - 64 ;

    CGFloat width = CGRectGetWidth(self.view.frame);

    

    

    CGRect allFrame = CGRectMake(0, tabViewHeight, width, height);

    

    favoriteView  =[[WWCFavoriteTabView alloc] initWithFrame:allFrame];

    favoriteView.backgroundColor = [UIColor redColor] ;//Color(46, 48, 59, 1);

    

    bestLoveView = [[WWCBestLoveTabView alloc] initWithFrame:allFrame];

    bestLoveView.backgroundColor =  [UIColor purpleColor];//Color(46, 48, 99, 1);

    

    historyView = [[WWHistoryTabView alloc] initWithFrame:allFrame];

    historyView.backgroundColor = [UIColor magentaColor];//Color(46, 66, 99, 1);

    

    arrVies = [[NSArray alloc] initWithObjects:favoriteView,bestLoveView,historyView,nil];

    

    

    

    [self.view addSubview:favoriteView];

    [self.view addSubview:historyView];

    [self.view addSubview:bestLoveView];

    

    

    // 默认显示收藏/0

    [self showCurrentView:[arrVies objectAtIndex:0]];

    

    

}


// 显示指定的View


-(void)showCurrentView:(UIView *)view

{

    

    for (int i =0; i < arrVies.count; i ++ ) {

        UIView *view  = [arrViesobjectAtIndex:i];

        view.hidden =YES;

    }

    

    view.hidden =NO;

    

    

}


#pragma mark - SwitchTabDelegate 

-(NSInteger)numberOfSwitchTabView

{

    returndata.count;

}


-(NSString *)titleOfSwithcTabViewatIndex:(NSInteger)indexRow

{

    

    return [dataobjectAtIndex:indexRow];

}


-(void)didSelectedSwitchTabView:(WWCSwitchTabView *)switchView atIndex:(NSInteger)indexRow

{

    

    [selfshowCurrentView:[arrViesobjectAtIndex:indexRow]];

}


-(UIColor *)colorForBackground:(NSInteger)indexRow// 返回指定位置的背景颜色

{

    return  [UIColorbrownColor];

}


-(UIColor *)colorForTitle:(NSInteger)indexRow// 返回指定标题字体颜色

{

    return  [UIColorwhiteColor];

}


-(UIColor *)colorForTitle_selected:(NSInteger)indexRow// 返回选中指定标题字体颜色

{

    return [UIColor blueColor];

}


-(UIFont *)fontForSwitchTitle

{

    return [UIFont systemFontOfSize:14];

}


-(UIColor *)footLineColor

{

    return [UIColor blueColor];

}




- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


/*

#pragma mark - Navigation


// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    // Get the new view controller using [segue destinationViewController].

    // Pass the selected object to the new view controller.

}

*/


@end


// 自定义的TabView ************

//

//  WWCSwitchTabView.h

//  TestCAOrUIViewAnimationApp7-30

//

//  Created by Whitney.c on 15/8/7.

//  Copyright (c) 2015年 ZhongShan Sun union Medical Technology Co. Ltd. All rights reserved.

//


#import <UIKit/UIKit.h>




@class WWCSwitchTabView;



@protocol SwitchTabTestDelegate <NSObject>


@required //要求


-(NSInteger)numberOfSwitchTabView;// 返回的个数

-(NSString *)titleOfSwithcTabViewatIndex:(NSInteger)indexRow;//返回指定位置的标题

// 点击(滑动)事件

-(void)didSelectedSwitchTabView:(WWCSwitchTabView *)switchView atIndex:(NSInteger)indexRow;


@optional //可选


-(UIColor *)colorForBackground:(NSInteger)indexRow;// 返回指定位置的背景颜色

-(UIColor *)colorForTitle:(NSInteger)indexRow;// 返回指定标题字体颜色

-(UIColor *)colorForTitle_selected:(NSInteger)indexRow;// 返回选中指定标题字体颜色

-(UIFont *)fontForSwitchTitle;

-(UIColor *)footLineColor;


@end


@interface WWCSwitchTabView :UIView

{


    

    UIView *footLineView;

    CGFloat tab_width ;

}


@property (assign)NSInteger switchTabCount;

@property (copy,nonatomic) NSString *switchTabTitle;

@property (assign)CGFloat tab_width;


@property (strong,nonatomic) UIColor *bgColor;

@property (strong,nonatomic) UIColor *titleColor;

@property (assign)UIColor *titleSelectedColor;

@property (assign)UIColor *footLineColor;




@property (strong,nonatomic) id<SwitchTabTestDelegate> switchTabDelegate;




@end




//

//  WWCSwitchTabView.m

//  TestCAOrUIViewAnimationApp7-30

//

//  Created by Whitney.c on 15/8/7.

//  Copyright (c) 2015年 ZhongShan Sun union Medical Technology Co. Ltd. All rights reserved.

//


#import "WWCSwitchTabView.h"


@implementation WWCSwitchTabView



-(id)initWithFrame:(CGRect)frame

{

    

    self = [superinitWithFrame:frame];

    if (self) {

        [selfloadSelfLayoutViews];

    }

    returnself;

}


-(void)loadSelfLayoutViews

{

    

    NSLog(@".... loadSelfLayoutViews ...");

}



-(void)layoutSubviews

{

    

    CGFloat width =self.frame.size.width;

    CGFloat height =CGRectGetHeight(self.frame);

    NSLog(@"width %f" , width);

    

    self.backgroundColor = [UIColorgrayColor];

    

    

    if (self.switchTabDelegate) {

        

       self.switchTabCount = [self.switchTabDelegatenumberOfSwitchTabView];

        

        tab_width = width/self.switchTabCount;

        

        // 初始化切换的tab按钮

        CGFloat y =0;

        for (int i=0; i <self.switchTabCount; i++) {


            CGFloat x = i*tab_width;

            

            UIButton *switchButton = [UIButtonbuttonWithType:UIButtonTypeCustom];

            switchButton.frame =CGRectMake(x, y, tab_width, height);

            switchButton.tag = i +100 ;

            self.switchTabTitle = [self.switchTabDelegatetitleOfSwithcTabViewatIndex:i];

            // 标题

            [switchButton setTitle:self.switchTabTitleforState:UIControlStateNormal];

            // 背景

            [switchButton setBackgroundColor:[self.switchTabDelegatecolorForBackground:i]];

            // 字体颜色

            [switchButton setTitleColor:[self.switchTabDelegatecolorForTitle:i] forState:UIControlStateNormal];

            // 选择字体颜色

            [switchButton setTitleColor:[self.switchTabDelegatecolorForTitle_selected:i] forState:UIControlStateHighlighted];

            // 按钮点击事件

            [switchButton addTarget:selfaction:@selector(switcAction:)forControlEvents:UIControlEventTouchUpInside];

            // 设置字体

            [switchButton.titleLabelsetFont:[self.switchTabDelegatefontForSwitchTitle]];

            

            [selfaddSubview:switchButton];

            

        }

        

        // 初始化底部Line

        

        CGFloat l_x =5;

        CGFloat l_y = height -2;

        CGFloat l_w =tab_width- 10;

        CGFloat l_h =2;

        

        footLineView = [[UIViewalloc] initWithFrame:CGRectMake(l_x, l_y, l_w, l_h)];

        footLineView.backgroundColor = [self.switchTabDelegatefootLineColor];

        [selfaddSubview:footLineView];

    }

    

}


-(void)switcAction:(UIButton *)sender

{

    UIButton *button = (UIButton *)sender;

    

    if (self.switchTabDelegate ) {

        

        [UIViewanimateWithDuration:0.5animations:^{

            

            CGRect frame =footLineView.frame;

            frame.origin.x =5 +((button.tag-100) *tab_width);

            footLineView.frame = frame;

            

        }completion:^(BOOL isFinished){

            

        }];

        

        [self.switchTabDelegatedidSelectedSwitchTabView:selfatIndex:button.tag-100];

    }

    

}


/*

// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect {

    // Drawing code

}

*/




@end


// ************************ 切换的3个视图


//

//  WWCFavoriteTabView.h

//  TestCAOrUIViewAnimationApp7-30

//

//  Created by Whitney.c on 15/8/7.

//  Copyright (c) 2015年 ZhongShan Sun union Medical Technology Co. Ltd. All rights reserved.

//


#import <UIKit/UIKit.h>


@interface WWCFavoriteTabView :UIView


@end



//

//  WWCFavoriteTabView.m

//  TestCAOrUIViewAnimationApp7-30

//

//  Created by Whitney.c on 15/8/7.

//  Copyright (c) 2015年 ZhongShan Sun union Medical Technology Co. Ltd. All rights reserved.

//


#import "WWCFavoriteTabView.h"


@implementation WWCFavoriteTabView


/*

// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect {

    // Drawing code

}

*/


@end




// 另外2个跟FavoriteView 一样的, 里面可以自定义自己所需要的内容



代码结束




ios-快速实现navigationController全屏滑动返回的分类.zip 快速实现navigationController全屏滑动返回的分类, 使用简单 立即下载

相关推荐

IOS滚动选项卡

IOS滚动选项卡,多视图进行转换的功能,头部进行滚动,代码进行提取;

IOS控件系列--Swift 滑动标签栏(支持底部下划线毛毛虫滑动效果Object-c实现)

这一编是俺之前OC版的翻译编曲,不过做做了一些新功能的扩展,新功能如下: 1.标签支持自适应文本宽度 2.点击标签文本时,标签文本的滚动列表会跟着一起滑动 设计思路与前一个版本一致,各位道友请移步查看详细的思路, IOS 高仿boss直聘---优雅使用UIButton与UIScrollView打造滑动标签 这里只奉上源码与效果图: 效果图如下: 源

刘胡来 6406

iOS自定义一个游标卡尺(数据滑动选择器)

利用UICollectionView构造一个样式可高度自定义的游标卡尺,可实现数据精确滑动选择,实现滑动选择和文本输入联动。Github:https://github.com/xjc5205/Ruler.git

jquery 滚动到某个div_【前端词典】4 (+1)种滚动吸顶实现方式的比较[性能升级版]...

修改版预览这篇文章是三天前写就的,有大佬给我提了一些修改意见,我觉得这个意见确实中肯。所以就有了这个升级的修改版本。代码同步更新到GitHub了。修改内容如下:添加了图文说明,直观的说明getBoundingClientRect()集合含义频繁 reflow 风险该如何规避(优化滚动监听)监听滚动带来的性能问题(使用IntersectionObserver, 新方案)修改更新的内...

weixin_39639381的博客 280

ios-仿今日头条的滚动标题栏.zip

仿今日头条的滚动标题栏 github地址:https://github.com/zhiyoukaifa/ZSTitleSelectedView.git

iOS自定义UIScrollView的滚动条实例代码

本篇文章主要介绍了iOS自定义UIScrollView的滚动条实例代码,详细的介绍了自定义滚动条的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

iOS开发-OC中TabView的编辑

UITableView编辑   1> UITableView 编辑流程   2>UITableView编辑步骤(四步)   ① 第一步 : 让 TableView 处于编辑状态(在按钮点击事件方法中)  1 // 优化写法 2 // 不带动画 3 _rootView.tableView.editing = !_rootVie...

weixin_30345577的博客 206

如何搭建一个vue项目(完整步骤)

查看版本的两种方式 出现版本号则说明安装成功(最新的以官网为准) 这里注意:安装vue-cli对node.js的版本是有要求的 装的两种方式:输入cmd命令 查看安装的版本(显示版本号说明安装成功) 如果你原来有版本或者版本比较低,可以升级...

m0_67392661的博客 5585

IOS之 UITableview的简单使用

初学ios写的第一个tabview的demo1.在ViewController.h文件中 实现接口,定义属性@interface ViewController : UIViewController&lt;UITableViewDelegate,UITableViewDataSource&gt;@property(strong,nonatomic) NSMutableArray *data;2.在V...

wangziye_csdn的博客 2922

java 二维码生成及其标签打印

本文主要内容 二维码生成 二维码标签预览及打印 二维码生成 笔者此次的二维码是通过调用第三方接口生成的,具体流程如下: 根据规范要求调用第三方接口,返回二维码下载地址及二维码图片的属性值(图片大小等) 根据返回的值获取二维码下载地址,根据地址下载二维码图片,保存至本地磁盘及记录数据信息 扫描二维码跳转相应地址,显示资产的基本信息 最终生成的二维码如下图所示: 预览并批量打印二维码标签 先...

孙小牟的博客 4942

FOFA奇技淫巧:从搜索语法到实战场景的深度挖掘

本文深入探讨了FOFA搜索语法在网络空间测绘中的高效应用,从基础语法到实战场景的深度挖掘。通过渗透测试、威胁狩猎、资产发现等实际案例,展示了如何利用FOFA精准定位目标系统、识别蜜罐、追踪威胁,并提供了合规使用指南和性能优化技巧,助力安全工作者提升效率。

weixin_32428571的博客 237

ios 顶部tab滑动实现_iOS导航栏下滑动菜单

在我们项目中经常会遇到这样的需求,下面是实现过程:UIParameter.h中:#ifndef UIParameter_h#define UIParameter_h//全屏宽和高大小#define FUll_VIEW_WIDTH ([[UIScreen mainScreen] bounds].size.width)#define FUll_VIEW_HEIGHT ([[UIScreen mainS...

weixin_39951930的博客 581

软件破解逆向安全(一)初识内存地址和偏移

工具:CE 内存:数字->存访在电脑中->内存 实例:如何修改植物大战僵尸阳光 内存搜索最核心:过滤数据 先用CE加载植物大战僵尸,如下图 我们可以看到目前我们的阳光数是50,我们尝试在ce里搜索精确数值,4 byte是int整数的表示。 我们发现有很多数据,尝试收集一个阳光变成75再次搜索: 我们发现就一个了,这时我们可以双击Value随便修改阳光的数值了。 这里我们说一下动态和静态地址 动态地址:临时用于存放数据的地址,黑色。特征:重新启动游戏地..

weixin_43781139的博客 2594

ios 顶部tab滑动实现_iOS 自定义滑动切换TabBar

貌似经常会用到,自己整理收藏起来,方便日后查找备用。效果如图:由于制作gif,调整了属性,所以看起来的效果不好。如果用默认配置,生成的gif会很大。制作gif:1.使用QuickTimePlayer ,mac上插上iPhone, 然后进行屏幕录制,但是要选择插上的iPhone,然后会自动在Mac弹出同步的iPhone屏幕,点击录制。2.使用GIFBrewery,选中录制文件*.mov, 进行生成g...

weixin_39943370的博客 681

SAP 针对不同行业(制造业、零售业、金融业)推出了专属的云解决方案,以下是各行业的核心方案与特点

SAP推出行业专属云解决方案:制造业(SAP Digital Manufacturing Cloud)提供AI排产与质量预警,降低缺陷率;零售业(S/4HANA Cloud零售版)实现AI预测补货与全渠道库存同步,减少浪费;金融业(Business ByDesign)支持合规自动化与实时风控,降低审计成本。各方案均采用云原生架构,典型案例显示实施效果显著。

金牌架构师 493

vue3 - 详细实现内网使用离线高德地图功能,在vue3中无需网络离线使用高德地图相关功能,高德地图如何离线加载详细教程(内网部署及使用),提供最新完整的瓦片资源下载及相关工具(示例代码,一键复制)

vue3,高德地图,离线使用高德地图,高德地图瓦片官方下载,内网使用高德地图离线无网络,断网情况下使用高德地图,vue离线高德地图教程,内网部署高德地图,无需联网离线使用,vue3+ts实现离线高德地图 内网离线高德地图,如何在高德地图Vue3项目中下载离线地图,地图加载不出来,不显示怎么办,内网使用离线高德地图加载失败问题,vue3实现离线地图+高德瓦片,vue3高德离线地图,如何使用离线高德地图和自定义地图样式,高德离线地图的下载,怎么下载高德地图瓦片,一键把所有瓦片都下载下来,离线加载,内网部署,离线

✅ 精选推荐文章 1万+

ios 顶部tab滑动实现_iOS关于UIScrollView的嵌套联动

iOS-关于UIScrollView的嵌套联动基本场景(最终效果和链接在文末)UIScrollView嵌套多个UITableView的场景在APP里很常见,复杂点还有各种UITableView、UICollectionView各种嵌套的场景,目前通用的解决办法基本是在UIScrollView的代理方法- (void)scrollViewDidScroll:(UIScrollView *)...

weixin_30025115的博客 973

AutoClip AI视频剪辑工具:Docker一键部署指南

摘要:AutoClip是一个基于Docker容器化部署的智能视频剪辑系统,采用微服务架构设计,包含Web界面、后端API、异步任务处理和Redis缓存等组件。系统支持一键快速部署,提供完整的监控和日志功能,最低要求4GB内存和10GB存储空间。部署过程仅需三个步骤:克隆代码、配置环境变量、启动容器服务。生产环境支持性能调优、数据持久化和网络安全管理。该系统解决了环境配置难题,实现"一次配置,到处运行"的目标,适合需要自动化视频处理的用户。

wjianwei666的专栏 1009

ios 顶部tab滑动实现_iOS开发之多表视图滑动切换示例(仿"头条"客户端)

好长时间没为大家带来iOS开发干货的东西了,今天给大家分享一个头条新闻客户端各个类别进行切换的一个示例。在Demo中对所需的组件进行的简单封装,在封装的组件中使用的是纯代码的形式,如果想要在项目中进行使用,稍微进行修改即可。废话少说,先介绍一下功能点,下图是整个Demo的功能点,最上面左边的TabBarButtonItem是用来减少条目的,比如下图有三个按钮,点击减号会减少一个条目。右边的为增加一...

weixin_39654322的博客 772

Mac安装Claude Code的3种方式及5类报错解决方案

介绍在Mac上安装Claude Code的3种实测可行方式(官方dmg、Homebrew+ARM原生构建、Docker容器化),并针对Gatekeeper签名验证失败、Rosetta 2内存对齐崩溃、Python ABI兼容性冲突等5类高频报错提供根因分析与可复现解决方案,覆盖M1–M3及Intel

weixin_28728443的博客 363

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ios 顶部tab滑动实现_ios 顶部tab

主要使用了scrolview做的//// HJPagerViewController.h// MusicLove//// Created by niuxinghua on 15/1/29.// Copyright (c) 2015年Hjojo. All rights reserved.//#import@interfaceHJPagerViewController :UIViewContr...

weixin_42125192的博客 267

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android 仿照淘宝首页 Tab 切换效果(滑动到底部变化图片 ,点击图标滑动到顶部)

序、首页要仿淘宝一个效果 ,IOS 网上哪一个 Demo 就直接用了 。我是很讨厌拿来主义的(其实是在网上没找到demo 哈哈哈哈) ,我就自己写了 。 淘宝效果 Demo 效果图 ...

Super 含 的博客 2595

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ios 顶部tab滑动实现_iOS关于菜单滚动视图实现

#import "myScrollerViewController.h"#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)#define TABBAR_TITLE_FONT [UIFont sys...

weixin_39647977的博客 390

ios 顶部tab滑动实现,顶部iOS上的自定义滚动标签栏

I have a question about implementing a custom scrollable tab bar at the top of the screen in an iOS app. I am looking for a a tab bar very similar to the vevo app (pictured below). I have checked out ...

weixin_28796657的博客 397

ios 顶部tab滑动实现_UI设计中Tab设计指南

  UI设计创新技能层出不穷,UI设计满足着形形色色各种垂直化的需求,在设计方面大家也是想方设法去做一些创新,希望自己能够在各种应用中脱颖而出,今天我就针对UI设计中Tab设计指南进行简单的说明。  1、Tab的作用  tab的作用是为了做好内容分类,节省屏幕空间,等需要的时候更容易被人找到!  试想一下,如果没有tab 给内容分类,所有的功能全部平铺展开,找起来多麻烦呀,就像衣柜的衣服没有分类,...

weixin_32141253的博客 966
上一篇: Swift 表达正则表达式-手机-邮箱-密码
下一篇: ios 单例模式的写法
dev-kevin
博客等级 码龄16年 3粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值