久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

iOS如何實現步驟進度條功能

這篇文章主要介紹了iOS如何實現步驟進度條功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創新互聯建站專業提供溫江服務器托管服務,為用戶提供五星數據中心、電信、雙線接入解決方案,用戶可自行在線購買溫江服務器托管服務,并享受7*24小時金牌售后服務。

源碼

將步驟進度條封裝成一個 HQLStepView 類,它是 UIView 的子類。

HQLStepView.h 文件

#import <UIKit/UIKit.h>@interface HQLStepView : UIView// 指定初始化方法- (instancetype)initWithFrame:(CGRect)frame titlesArray:(NSArray *)titlesArray stepIndex:(NSUInteger)stepIndex;// 設置當前步驟- (void)setStepIndex:(NSUInteger)stepIndex animation:(BOOL)animation;@end

HQLStepView.m 文件

#import "HQLStepView.h"// 步驟條主題色#define TINT_COLOR [UIColor colorWithRed:35/255.f green:135/255.f blue:255/255.f alpha:1]@interface HQLStepView ()@property (nonatomic, copy) NSArray *titlesArray;@property (nonatomic, assign) NSUInteger stepIndex;@property (nonatomic, strong) UIProgressView *progressView;@property (nonatomic, strong) NSMutableArray *circleViewArray;@property (nonatomic, strong) NSMutableArray *titleLabelArray;@property (nonatomic, strong) UILabel *indicatorLabel;@end@implementation HQLStepView#pragma mark - Init- (instancetype)initWithFrame:(CGRect)frame titlesArray:(NSArray *)titlesArray stepIndex:(NSUInteger)stepIndex { self = [super initWithFrame:frame]; if (self) { _titlesArray = [titlesArray copy]; _stepIndex = stepIndex; // 進度條 [self addSubview:self.progressView]; for (NSString *title in _titlesArray) {  // 圓圈  UIView *circle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 13, 13)];  circle.backgroundColor = [UIColor lightGrayColor];  circle.layer.cornerRadius = 13.0f / 2;  [self addSubview:circle];  [self.circleViewArray addObject:circle];  // 標題  UILabel *label = [[UILabel alloc] init];  label.text = title;  label.font = [UIFont systemFontOfSize:14];  label.textAlignment = NSTextAlignmentCenter;  [self addSubview:label];  [self.titleLabelArray addObject:label]; } // 當前索引數字 [self addSubview:self.indicatorLabel]; } return self;}// 布局更新頁面元素- (void)layoutSubviews { NSInteger perWidth = self.frame.size.width / self.titlesArray.count; // 進度條 self.progressView.frame = CGRectMake(0, 0, self.frame.size.width - perWidth, 1); self.progressView.center = CGPointMake(self.frame.size.width / 2, self.frame.size.height / 4); CGFloat startX = self.progressView.frame.origin.x; for (int i = 0; i < self.titlesArray.count; i++) { // 圓圈 UIView *cycle = self.circleViewArray[i]; if (cycle) {  cycle.center = CGPointMake(i * perWidth + startX, self.progressView.center.y); } // 標題 UILabel *label = self.titleLabelArray[i]; if (label) {  label.frame = CGRectMake(perWidth * i, self.frame.size.height / 2, self.frame.size.width / self.titlesArray.count, self.frame.size.height / 2 ); } } self.stepIndex = self.stepIndex;}#pragma mark - Custom Accessors- (UIProgressView *)progressView { if (!_progressView) { _progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault]; _progressView.progressTintColor = TINT_COLOR; _progressView.progress = self.stepIndex / ((self.titlesArray.count - 1) * 1.0); } return _progressView;}- (UILabel *)indicatorLabel { if (!_indicatorLabel) { _indicatorLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 23, 23)]; _indicatorLabel.textColor = TINT_COLOR; _indicatorLabel.textAlignment = NSTextAlignmentCenter; _indicatorLabel.backgroundColor = [UIColor whiteColor]; _indicatorLabel.layer.cornerRadius = 23.0f / 2; _indicatorLabel.layer.borderColor = [TINT_COLOR CGColor]; _indicatorLabel.layer.borderWidth = 1; _indicatorLabel.layer.masksToBounds = YES; } return _indicatorLabel;}- (NSMutableArray *)circleViewArray { if (!_circleViewArray) { _circleViewArray = [[NSMutableArray alloc] initWithCapacity:self.titlesArray.count]; } return _circleViewArray;}- (NSMutableArray *)titleLabelArray { if (!_titleLabelArray) { _titleLabelArray = [[NSMutableArray alloc] initWithCapacity:self.titlesArray.count]; } return _titleLabelArray;}// 設置當前進度索引,更新圓形圖片、文本顏色、當前索引數字- (void)setStepIndex:(NSUInteger)stepIndex { for (int i = 0; i < self.titlesArray.count; i++) { UIView *cycle = self.circleViewArray[i]; UILabel *label = self.titleLabelArray[i]; if (stepIndex >= i) {  cycle.backgroundColor = TINT_COLOR;  label.textColor = TINT_COLOR; } else {  cycle.backgroundColor = [UIColor lightGrayColor];  label.textColor = [UIColor lightGrayColor]; } }}#pragma mark - Public- (void)setStepIndex:(NSUInteger)stepIndex animation:(BOOL)animation { if (stepIndex < self.titlesArray.count) { // 更新顏色 self.stepIndex = stepIndex; // 設置進度條 [self.progressView setProgress:stepIndex / ((self.titlesArray.count - 1) * 1.0) animated:animation]; // 設置當前索引數字 self.indicatorLabel.text = [NSString stringWithFormat:@"%lu", stepIndex + 1]; self.indicatorLabel.center = ((UIView *)[self.circleViewArray objectAtIndex:stepIndex]).center; }}@end

接口調用:

- (void)viewDidLoad { [super viewDidLoad]; // 初始化 _hqlStepView = [[HQLStepView alloc] initWithFrame:CGRectMake(0, 200, self.view.frame.size.width, 60) titlesArray:@[@"第一步", @"第二步", @"第三步"] stepIndex:0]; [self.view addSubview:_hqlStepView];}- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // 設置當前步驟,步驟索引=數組索引 [_hqlStepView setStepIndex:0 animation:YES];}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“iOS如何實現步驟進度條功能”這篇文章對大家有幫助,同時也希望大家多多支持創新互聯,關注創新互聯行業資訊頻道,更多相關知識等著你來學習!

本文標題:iOS如何實現步驟進度條功能
當前網址:http://www.js-pz168.com/article36/gieipg.html

成都網站建設公司_創新互聯,為您提供網站維護、網站內鏈動態網站、做網站、外貿網站建設、云服務器

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
国产经品一区二区| 伊人av成人| 色综合久久中文字幕综合网 | 成人免费福利片| aaa级精品久久久国产片| 人偷久久久久久久偷女厕| 色婷婷综合久久久久中文| 日韩一区二区在线观看视频播放| 欧美电影免费观看完整版| 国产精品看片你懂得| 日韩精品91亚洲二区在线观看| 黑人巨大精品欧美一区| 不卡日韩av| 亚洲一区二区高清视频| 日韩一级片在线观看| 亚洲欧洲www| 日本va欧美va瓶| thepron国产精品| 欧美影视一区二区| 欧美日韩国产系列| 国产精品乱子久久久久| 日韩精彩视频在线观看| 99久久免费精品| 婷婷精品国产一区二区三区日韩| 在线综合视频播放| 亚洲品质自拍视频| 国内外成人在线视频| 99久久精品国产网站| 欧美午夜欧美| 欧美久久高跟鞋激| 国产精品不卡一区二区三区| 免费在线视频一区| 成人片在线免费看| 色国产综合视频| 欧美精彩视频一区二区三区| 日本视频一区二区| 成人免费在线一区二区三区| 色国产综合视频| 日本一区二区高清| 日韩成人一级片| 高清国产一区| 日本精品一区二区三区高清| 久久精品日韩一区二区三区| 日本女优在线视频一区二区| 国产精品v欧美精品v日韩精品| 91精品91久久久中77777| 欧美激情一区二区三区| 久久精品国产色蜜蜜麻豆| 国产精品久久波多野结衣| 欧美优质美女网站| **欧美大码日韩| 成人网页在线观看| 在线国产伦理一区| 国产精品三级视频| 国产一区二区三区四| 日本精品一区二区三区不卡无字幕| 日韩一区二区在线观看| 午夜精品成人在线视频| av在线亚洲男人的天堂| 欧美视频第二页| 亚洲精品乱码久久久久久久久 | 极品少妇xxxx精品少妇偷拍| 久久亚洲高清| 久久一夜天堂av一区二区三区| 日本vs亚洲vs韩国一区三区| 精品国产91亚洲一区二区三区www| 4438亚洲最大| 天天av天天翘天天综合网 | 日本成人在线看| 国产精品综合久久| 精品国产一区二区三区麻豆免费观看完整版 | 一区二区三区四区在线视频| 亚洲男人的天堂网| 国产精品毛片一区视频| 日韩欧美另类在线| 国内精品不卡在线| 色素色在线综合| 亚洲福利国产精品| 免费久久久一本精品久久区| 亚洲国产精品ⅴa在线观看| 不卡一区在线观看| 欧美一区二区三区免费观看视频| 免费一级片91| 色综合久久综合网欧美综合网 | 中文字幕乱码日本亚洲一区二区| 波多野结衣精品在线| 欧美一区二区在线免费观看| 久草这里只有精品视频| 日本乱码高清不卡字幕| 石原莉奈在线亚洲三区| 天天人人精品| 亚洲高清一区二区三区| 日韩福利一区二区三区| 亚洲精品五月天| 欧美日韩在线精品| 亚洲激情六月丁香| 欧美日韩精品免费在线观看视频| 亚洲欧洲99久久| 精品一区国产| 亚洲男女一区二区三区| 麻豆av一区二区三区| 亚洲色图欧美偷拍| 久久天堂国产精品| 亚洲精品高清视频在线观看| 欧美日韩精品免费观看| 亚洲自拍偷拍av| 亚洲高清精品中出| 视频一区二区国产| 色94色欧美sute亚洲线路一久| 午夜成人免费视频| 色偷偷88欧美精品久久久 | 色综合一个色综合| 日韩免费成人网| 成人夜色视频网站在线观看| 欧美v日韩v国产v| 99国产精品久久久| 国产拍欧美日韩视频二区| 鬼打鬼之黄金道士1992林正英| 亚洲国产精品av| 欧美高清性xxxxhd| 亚洲国产cao| 欧美在线你懂得| 国产精品18久久久久久久网站| 欧美一二三区在线| 91黄色国产视频| 国产精品久久久久久户外露出 | 欧美1o一11sex性hdhd| 亚洲一区二区三区美女| 在线免费一区| 极品少妇xxxx偷拍精品少妇| 欧美一卡二卡在线观看| 91丝袜美腿高跟国产极品老师| 亚洲国产精品99久久久久久久久| 久久婷婷人人澡人人喊人人爽| 亚洲一二三专区| 欧美性淫爽ww久久久久无| 国产精品456| 国产日本亚洲高清| 欧美国产综合视频| 日韩国产成人精品| 69av一区二区三区| 91亚洲国产成人精品一区二区三| 中文字幕av在线一区二区三区| 欧美性色黄大片人与善| 免费在线欧美视频| 日韩免费视频一区| 国产精品夜夜夜一区二区三区尤| 亚洲最大的成人av| 欧美视频一区二区三区四区| 成人精品亚洲人成在线| 国产精品久久二区二区| 天堂av一区二区| 国产一区二区毛片| 久久精品视频网| 日本一区免费在线观看| 免费成人结看片| 欧美videofree性高清杂交| 九9re精品视频在线观看re6 | 国产亲近乱来精品视频 | av激情综合网| 亚洲六月丁香色婷婷综合久久| 色久优优欧美色久优优| 成人不卡免费av| 亚洲老妇xxxxxx| 欧美日韩高清影院| av成人观看| 日韩一区精品字幕| 精品日韩一区二区| 日本不卡一二三区| 国产一区二区三区| 国产精品久久午夜| 色婷婷国产精品| 99久久99久久精品免费看蜜桃| 亚洲精品欧美专区| 3atv在线一区二区三区| 国产欧美日韩一区| 丝袜美腿亚洲综合| 精品国产污网站| 午夜精品一区二区三区四区| 国产成人8x视频一区二区| 亚洲人成人一区二区在线观看| 欧美色精品天天在线观看视频| 99精品国产高清在线观看| 丝袜亚洲另类欧美| 久久久久久麻豆| 色呦呦日韩精品| 91免费版黄色| 奇米综合一区二区三区精品视频| 久久婷婷国产综合精品青草| 亚洲欧美综合一区| 99re成人精品视频| 日韩国产欧美一区二区三区| 久久婷婷色综合| 91国产丝袜在线播放| www日韩av| 九一九一国产精品| 亚洲天堂精品在线观看| 51精品视频一区二区三区| 玛丽玛丽电影原版免费观看1977| 国产精品一区不卡|