最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS滑動解鎖、滑動獲取驗證碼效果的實現(xiàn)代碼

 更新時間:2016年05月06日 13:59:57   作者:huxinguang_ios  
這篇文章主要介紹了iOS滑動解鎖、滑動獲取驗證碼效果的實現(xiàn)代碼,小編認為還不錯,非常實用,所有分享給大家,感興趣的朋友可以參考下

 最近短信服務(wù)商要求公司的app在獲取短信驗證碼時加上校驗碼,目前比較流行的是采用類似滑動解鎖的方式,我們公司采取的就是這種方式,設(shè)計圖如下所示:

這里寫圖片描述

這里校驗內(nèi)部的處理邏輯不作介紹,主要分享一下界面效果的實現(xiàn), 下面貼出代碼:

先子類化UISlider

#import <UIKit/UIKit.h>
#define SliderWidth 240
#define SliderHeight 40
#define SliderLabelTextColor [UIColor colorWithRed:193/255.0 green:193/255.0 blue:193/255.0 alpha:1]
#define SliderLabelBorderColor [UIColor colorWithRed:193/255.0 green:193/255.0 blue:193/255.0 alpha:1].CGColor
#define SliderMinimumTrackTintColor [UIColor redColor]
#define SliderLabelFont 14
#define SliderLabelText @"滑動解鎖/獲取驗證碼"
#define ThumbImageWidth 40
#define ThumbImageHeight 40
@interface CheckCodeSlider : UISlider
@end
//*******************************************************
#import "CheckCodeSlider.h"
@implementation CheckCodeSlider
//覆寫父類UISlider的方法改變滑條frame
- (CGRect)trackRectForBounds:(CGRect)bounds{
return CGRectMake(0, 0, SliderWidth, SliderHeight);
}
@end

再實例化CheckCodeSlider,這里隨便在一個ViewController里寫的

#import "ViewController.h"
#import "CheckCodeSlider.h"
@interface ViewController (){
UIImageView *imgView;
}
@property (nonatomic ,strong)CheckCodeSlider *slider;
@property (nonatomic ,strong)UILabel *label;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
[self createSlider];
}
- (void)createSlider{
_slider = [[CheckCodeSlider alloc]initWithFrame:CGRectMake(0, 0, SliderWidth, SliderHeight)];
_slider.center = self.view.center;
_slider.minimumTrackTintColor = [UIColor clearColor];
_slider.maximumTrackTintColor = [UIColor clearColor];
_slider.layer.masksToBounds = YES;
_slider.layer.cornerRadius = SliderHeight/2;
[_slider setThumbImage:[UIImage imageNamed:@"滑塊按鈕"] forState:UIControlStateNormal];
[_slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_slider];
_label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, SliderWidth, SliderHeight)];
_label.center = self.view.center;
_label.text = SliderLabelText;
_label.font = [UIFont systemFontOfSize:SliderLabelFont];
_label.textAlignment = NSTextAlignmentCenter;
_label.textColor = SliderLabelTextColor;
_label.layer.masksToBounds = YES;
_label.layer.cornerRadius = SliderHeight/2;
_label.layer.borderWidth = 1;
_label.layer.borderColor = SliderLabelBorderColor;
[self.view addSubview:_label];
//這里創(chuàng)建了一個跟滑塊相同的imageview覆蓋在文字上面,并在sliderValueChanged方法中讓其跟著滑塊滑動。
imgView = [[UIImageView alloc]initWithFrame:CGRectMake(_slider.frame.origin.x-2, _slider.frame.origin.y-2, ThumbImageWidth+4, ThumbImageHeight+4)];
imgView.image = [UIImage imageNamed:@"滑塊按鈕"];
[self.view addSubview:imgView];
}
- (void)sliderValueChanged:(UISlider *)slider{
[_slider setValue:slider.value animated:NO];
if (slider.value >0) {
_slider.minimumTrackTintColor = SliderMinimumTrackTintColor;
}else{
_slider.minimumTrackTintColor = [UIColor clearColor];
}
imgView.center = CGPointMake(_slider.frame.origin.x+slider.value*(SliderWidth-ThumbImageWidth)+ThumbImageWidth/2, _slider.frame.origin.y+ThumbImageHeight/2);
if (!slider.isTracking && slider.value != 1) {
[_slider setValue:0 animated:YES];
if (slider.value >0) {
_slider.minimumTrackTintColor = SliderMinimumTrackTintColor;
}else{
_slider.minimumTrackTintColor = [UIColor clearColor];
}
imgView.frame = CGRectMake(_slider.frame.origin.x-2, _slider.frame.origin.y-2, ThumbImageWidth+4, ThumbImageHeight+4);
}
}

這樣就可以實現(xiàn)上圖中的效果,只需要在sliderValueChanged根據(jù)slider的value值做相應(yīng)處理就行了。

以上所述是小編給大家介紹的iOS滑動解鎖、滑動獲取驗證碼效果的實現(xiàn)代碼,希望對大家有所幫助!

相關(guān)文章

  • iOS繪制3D餅圖的實現(xiàn)方法

    iOS繪制3D餅圖的實現(xiàn)方法

    餅圖常用于統(tǒng)計學模塊。常見的一般為2D餅圖,這篇文章主要介紹了iOS繪制3D餅圖的實現(xiàn)方法,3D餅圖更加立體,用戶的好感度也比較高,下面需要的朋友可以參考借鑒,一起來看看吧。
    2017-01-01
  • ios開發(fā)中的容錯處理示例詳解

    ios開發(fā)中的容錯處理示例詳解

    最近發(fā)現(xiàn)還是有很多朋友在問類似解析時容錯問題怎么解決,所以下面這篇文章主要給大家介紹了關(guān)于ios開發(fā)中的容錯處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們一起來看看吧
    2018-05-05
  • IOS10 相冊相機閃退bug解決辦法

    IOS10 相冊相機閃退bug解決辦法

    這篇文章主要介紹了IOS10 相冊相機閃退bug解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • iOS使用原生AVCapture系列

    iOS使用原生AVCapture系列

    這篇文章主要為大家詳細介紹了iOS使用原生AVCapture系列的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • iOS中NSInvocation的基本用法教程

    iOS中NSInvocation的基本用法教程

    NSInvocation是IOS消息傳遞和方法調(diào)用的一個類,下面這篇文章主要給大家介紹了關(guān)于iOS中NSInvocation的基本用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友們可以參考借鑒,下面隨著小編來一起看看吧。
    2017-09-09
  • IOS 陀螺儀開發(fā)(CoreMotion框架)實例詳解

    IOS 陀螺儀開發(fā)(CoreMotion框架)實例詳解

    這篇文章主要介紹了IOS 陀螺儀開發(fā)實例詳解的相關(guān)資料,介紹了螺旋儀參數(shù)意義及CoreMotion框架,需要的朋友可以參考下
    2016-10-10
  • IOS實戰(zhàn)之自定義轉(zhuǎn)場動畫詳解

    IOS實戰(zhàn)之自定義轉(zhuǎn)場動畫詳解

    這篇文章主要介紹了IOS實戰(zhàn)之自定義轉(zhuǎn)場動畫,CAAnimation的子類,用于做轉(zhuǎn)場動畫,能夠為層提供移出屏幕和移入屏幕的動畫效果,感興趣的小伙伴們可以參考一下
    2016-02-02
  • iOS中金額字符串格式化顯示的方法示例

    iOS中金額字符串格式化顯示的方法示例

    這篇文章主要給大家介紹了關(guān)于iOS中金額字符串格式化顯示的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對各位iOS開發(fā)者們具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • iOS中UIWebView網(wǎng)頁加載組件的基礎(chǔ)及使用技巧實例

    iOS中UIWebView網(wǎng)頁加載組件的基礎(chǔ)及使用技巧實例

    UIWebView是開發(fā)中很常用的應(yīng)用內(nèi)調(diào)用網(wǎng)頁瀏覽的控件,這里整理了一些iOS中UIWebView網(wǎng)頁加載組件的基礎(chǔ)及使用技巧實例 ,需要的朋友可以參考下
    2016-06-06
  • iOS9蘋果將原h(huán)ttp協(xié)議改成了https協(xié)議的方法

    iOS9蘋果將原h(huán)ttp協(xié)議改成了https協(xié)議的方法

    這篇文章主要介紹了iOS9蘋果將原h(huán)ttp協(xié)議改成了https協(xié)議的方法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01

最新評論

焉耆| 云南省| 昌吉市| 云安县| 江北区| 高州市| 玉田县| 定南县| 镇坪县| 云霄县| 砀山县| 遂昌县| 邛崃市| 尚义县| 河间市| 乐清市| 稷山县| 民权县| 乌拉特中旗| 全州县| 黄大仙区| 会泽县| 台东县| 泸定县| 大邑县| 鲁甸县| 泸西县| 临夏市| 商洛市| 香格里拉县| 乌拉特中旗| 宁海县| 柳州市| 金华市| 竹山县| 东丰县| 独山县| 郎溪县| 临安市| 中卫市| 大石桥市|