自定義密碼輸入框和自定義鍵盤-非常簡單適用

1.公司最近要做一款錢包支付類的APP,由于系統(tǒng)鍵盤和支付方式都是自家的,不能使用系統(tǒng)自定義的,因此對這兩款功能進行了一下編寫封裝-密碼輸入框AND輸入鍵盤;

2.說明:這不是一個DEMO,只是兩個封裝好的類,下載之后直接拉入工程中就可以使用;

3.功能說明:

3.1 IB_DESIGNABLE結合運行時設置動態(tài)屬性

代碼:IB_DESIGNABLE

@interface PAWFPayPassWordView : UIView

//密碼位數(shù)

@property (nonatomic,assign)IBInspectable NSUInteger passWordNumber;

//密碼框大小

@property (nonatomic,assign)IBInspectable CGFloat squareWidth;

//密碼黑點的大小

@property (nonatomic,assign)IBInspectable CGFloat pointRadius;

//密碼點的顏色

@property (nonatomic,strong)IBInspectable UIColor *pointColor;

//邊框的顏色

@property (nonatomic,strong)IBInspectable UIColor *borderColor;

//中間分割線的顏色

@property (nonatomic,strong)IBInspectable UIColor *lineColor;

效果:

動態(tài)屬性,直接調(diào)整

3.2 drawRect實現(xiàn)密碼輸入

代碼實現(xiàn):

- (void)drawRect:(CGRect)rect {

//計算整個會話區(qū)域

CGFloat height = rect.size.height;

CGFloat width = rect.size.width;

CGFloat widthV = width / self.passWordNumber;

CGFloat x = (width - widthV*self.passWordNumber)/2.0;

CGFloat y = (height - self.squareWidth)/2.0;

//開啟圖形上下文

CGContextRef context = UIGraphicsGetCurrentContext();

//畫外框

CGFloat radius = 5;

// 移動到初始點

CGContextMoveToPoint(context, radius, 0);

// 繪制第1條線和第1個1/4圓弧,右上圓弧

CGContextAddLineToPoint(context, width - radius,0);

CGContextAddArc(context, width - radius, radius, radius, -0.5 *M_PI,0.0,0);

// 繪制第2條線和第2個1/4圓弧浆竭,右下圓弧

CGContextAddLineToPoint(context, width, height - radius);

CGContextAddArc(context, width - radius, height - radius, radius,0.0,0.5 *M_PI,0);

// 繪制第3條線和第3個1/4圓弧奏夫,左下圓弧

CGContextAddLineToPoint(context, radius, height);

CGContextAddArc(context, radius, height - radius, radius,0.5 *M_PI,M_PI,0);

// 繪制第4條線和第4個1/4圓弧,左上圓弧

CGContextAddLineToPoint(context, 0, radius);

CGContextAddArc(context, radius, radius, radius,M_PI,1.5 *M_PI,0);

// 閉合路徑

CGContextClosePath(context);

// 填充半透明紅色

CGContextSetLineWidth(context, 2.0);//線的寬度

CGContextSetStrokeColorWithColor(context, self.borderColor.CGColor);//線框顏色

CGContextDrawPath(context,kCGPathStroke);

//畫豎條

for (int i = 1; i < self.passWordNumber; i++) {

CGContextMoveToPoint(context, x+i*widthV, 0);

CGContextAddLineToPoint(context, x+i*widthV, height);

CGContextSetLineWidth(context, 1);

CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);

CGContextDrawPath(context, kCGPathStroke); //根據(jù)坐標繪制路徑

}

//畫黑點

CGContextSetFillColorWithColor(context, self.pointColor.CGColor);

for (int i = 1; i <= self.passWordString.length; i++) {

CGContextAddArc(context,? x+i*widthV - widthV/2.0, y+self.squareWidth/2, self.pointRadius, 0, M_PI*2, YES);

CGContextDrawPath(context, kCGPathFill);

}

效果:

輸入密碼采用畫點方式代替

4.遵守代理,在密碼輸入完成的代理方法中通過block那個密碼字符串.....之后的操作就不再贅訴

下載地址: https://github.com/zhaozhenghua/PassWord

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末移剪,一起剝皮案震驚了整個濱河市悼枢,隨后出現(xiàn)的幾起案子狂男,更是在濱河造成了極大的恐慌综看,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岖食,死亡現(xiàn)場離奇詭異红碑,居然都是意外死亡,警方通過查閱死者的電腦和手機泡垃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門析珊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蔑穴,你說我怎么就攤上這事忠寻。” “怎么了存和?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵奕剃,是天一觀的道長衷旅。 經(jīng)常有香客問我,道長纵朋,這世上最難降的妖魔是什么柿顶? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮操软,結果婚禮上嘁锯,老公的妹妹穿的比我還像新娘。我一直安慰自己聂薪,他們只是感情好家乘,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著藏澳,像睡著了一般仁锯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上笆载,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天扑馁,我揣著相機與錄音,去河邊找鬼凉驻。 笑死,一個胖子當著我的面吹牛复罐,可吹牛的內(nèi)容都是我干的涝登。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼效诅,長吁一口氣:“原來是場噩夢啊……” “哼胀滚!你這毒婦竟也來了?” 一聲冷哼從身側響起乱投,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤咽笼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后戚炫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剑刑,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年双肤,在試婚紗的時候發(fā)現(xiàn)自己被綠了施掏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡茅糜,死狀恐怖七芭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蔑赘,我是刑警寧澤狸驳,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布预明,位于F島的核電站,受9級特大地震影響耙箍,放射性物質(zhì)發(fā)生泄漏贮庞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一究西、第九天 我趴在偏房一處隱蔽的房頂上張望窗慎。 院中可真熱鬧,春花似錦卤材、人聲如沸遮斥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽术吗。三九已至,卻和暖如春帆精,著一層夾襖步出監(jiān)牢的瞬間较屿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工卓练, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留隘蝎,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓襟企,卻偏偏與公主長得像嘱么,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子顽悼,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容