FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Coding-iOS/Coding_iOS/Views/PhoneCodeButton.m at master · JanCong/Coding-iOS · GitHub
JanCong
/
Coding-iOS
Public
forked from
coding/Coding-iOS
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
Coding-iOS
/
Coding_iOS
/
Views
/
PhoneCodeButton.m
Copy path
More file actions
More file actions
Latest commit
History
History
History
76 lines (65 loc) · 2.36 KB
Breadcrumbs
Coding-iOS
/
Coding_iOS
/
Views
/
PhoneCodeButton.m
Copy path
File metadata and controls
76 lines (65 loc) · 2.36 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//
//
PhoneCodeButton.m
//
CodingMart
//
//
Created by Ease on 15/12/15.
//
Copyright © 2015年 net.coding. All rights reserved.
//
#
import
"
PhoneCodeButton.h
"
@interface
PhoneCodeButton
()
@property
(
nonatomic
,
strong
,
readwrite
)
NSTimer
*timer;
@property
(
assign
,
nonatomic
)
NSTimeInterval
durationToValidity;
@property
(
strong
,
nonatomic
) UIView *lineView;
@end
@implementation
PhoneCodeButton
- (
instancetype
)
initWithFrame
:
(CGRect)
frame
{
self = [
super
initWithFrame:
frame];
if
(self) {
self.
titleLabel
.
font
= [UIFont
systemFontOfSize:
14
];
self.
enabled
=
YES
;
_lineView = [[UIView
alloc
]
initWithFrame:
CGRectMake
(-
10
,
5
,
0.5
,
CGRectGetHeight
(frame) -
2
*
5
)];
_lineView.
backgroundColor
= [UIColor
colorWithHexString:
@"
0xD8D8D8
"
];
[
self
addSubview:
_lineView];
}
return
self;
}
- (
void
)
setEnabled
:
(
BOOL
)
enabled
{
[
super
setEnabled:
enabled];
UIColor *foreColor = [UIColor
colorWithHexString:
enabled?
@"
0x3BBD79
"
:
@"
0xCCCCCC
"
];
[
self
setTitleColor:
foreColor
forState:
UIControlStateNormal];
if
(enabled) {
[
self
setTitle:
@"
发送验证码
"
forState:
UIControlStateNormal];
}
else
if
([
self
.titleLabel.text
isEqualToString:
@"
发送验证码
"
]){
[
self
setTitle:
@"
正在发送...
"
forState:
UIControlStateNormal];
}
}
- (
void
)
startUpTimer
{
_durationToValidity =
60
;
if
(self.
isEnabled
) {
self.
enabled
=
NO
;
}
[
self
setTitle:
[
NSString
stringWithFormat:
@"
%.0f
秒
"
, _durationToValidity]
forState:
UIControlStateNormal];
self.
timer
= [
NSTimer
scheduledTimerWithTimeInterval:
1
target:
self
selector:
@selector
(
redrawTimer:
)
userInfo:
nil
repeats:
YES
];
}
- (
void
)
invalidateTimer
{
if
(!self.
isEnabled
) {
self.
enabled
=
YES
;
}
[
self
.timer
invalidate
];
self.
timer
=
nil
;
}
- (
void
)
redrawTimer
:
(
NSTimer
*)
timer
{
_durationToValidity--;
if
(_durationToValidity >
0
) {
self.
titleLabel
.
text
= [
NSString
stringWithFormat:
@"
%.0f
秒
"
, _durationToValidity];
//
防止 button_title 闪烁
[
self
setTitle:
[
NSString
stringWithFormat:
@"
%.0f
秒
"
, _durationToValidity]
forState:
UIControlStateNormal];
}
else
{
[
self
invalidateTimer
];
}
}
@end
Back
|
FazBrowse Home
|
New Git URL