#import
@inte***ce
commenprogressview : uiview
//你還可以根據自己的需要建立其他的屬性
@property (strong,nonatomic) uicolor *progressbackgroundcolor; //背景色
@property (strong,nonatomic) uicolor *progresstintcolor; //進度條顏色
@property (assign,nonatomic) cgfloat progressvalue; //進度條進度的值
@property (assign,nonatomic) nsinteger progresscornerradius; //進度條圓角
@property (assign,nonatomic) nsinteger progressborderwidth; //進度條邊寬度
+ (instancetype)initcommenprogressview; //初始化構造方法
@end
來到commenprogressview.m檔案
#import "commenprogressview.h"
@inte***ce
commenprogressview ()
@property (strong,nonatomic) uiview *firstview;
@property (strong,nonatomic) uiview *secondview;
@property (strong,nonatomic) uilabel *progresslabel;
@end
@implementation
commenprogressview
+ (instancetype)initcommenprogressview
- (uiview *)firstview
return _firstview;
}- (uiview *)secondview
return _secondview;
}- (uilabel *)progresslabel
return _progresslabel;
}- (void)layoutsubviews
#pragma mark - set&&get
- (void)setprogressbackgroundcolor:(uicolor *)progressbackgroundcolor
- (void)setprogressvalue:(cgfloat)progressvalue
- (void)setprogresstintcolor:(uicolor *)progresstintcolor
- (void)setprogresscornerradius:(nsinteger)progresscornerradius
- (void)setprogressborderwidth:(nsinteger)progressborderwidth
@end
至此我們就已經寫好了自定義進度條了
現在我們看看怎麼使用這個自定義控制項
來到viewcontroller.m檔案的viewdidload方法中
[super viewdidload];
commenprogressview *progressview = [commenprogressview initcommenprogressview];
nsuinteger cheight = 20
; //高度
progressview.frame = cgrectmake(5, 60,[uiscreen mainscreen].bounds
.size
.width - 10 , cheight);
uilabel *label = [[uilabel alloc]initwithframe:cgrectmake(0, 0, progressview.frame
.size
.width, progressview.frame
.size
.height)];
label.textcolor = [uicolor whitecolor];
cgfloat value = 0.30
; //進度條的值
label.text = [nsstring stringwithformat:@"%f",value];
label.textalignment = nstextalignmentright;
progressview.progressvalue = value;
progressview.progressbackgroundcolor = [uicolor lightgraycolor];
//如果設定的進度條的值<=0.3,那麼顯示紅色,否則藍色
if (value <= 0.3 )else
progressview.progresscornerradius = 0
; progressview.backgroundcolor = [uicolor redcolor];
progressview.layer
.maskstobounds = yes;
progressview.layer
.cornerradius = cheight/2
; [progressview insertsubview:label atindex:0];//將label移動到最上面
[self.view addsubview:progressview];
ios自定義字型
提供字型檔案路徑,返回所需要字型 複製 uifont customfontwithpath nsstring path size cgfloat size 這樣就不需要在plist設定任何東西,只需要得到字型庫檔案的路徑,就可以取出對應的字型。上面的方法對於ttf otf的字型都有效,但是對於ttc...
iOS 自定義鬧鐘
ios 自定義鬧鐘 需求 從伺服器獲取到一組時間,都設定成鬧鈴,預設是每天迴圈不可修改,同時可以自定義鬧鈴,可選擇週幾迴圈。可以設定開啟關閉或者刪除。一.固定鬧鐘,每天迴圈。很簡單,將需要設定成鬧鐘的時間放入乙個陣列中,通過for迴圈設定成對應的本地推送,詳情見下面的 和注釋。void addloc...
IOS 自定義協議
在自定義協議的標頭檔案 h中 protocol nsdelegate optional 可選 void onoption nsstring pstr required 必須 void onrequired nsstring pstr end inte ce nsclass nsobject id d...