日常記錄工程中遇到的問(wèn)題~~

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、天心ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的天心網(wǎng)站制作公司
先上效果圖:
簡(jiǎn)單解釋:
一個(gè)進(jìn)度條view,要求進(jìn)度條上的文字需要適應(yīng)進(jìn)度條的背景顏色和進(jìn)度的顏色,over。
思路:
添加順序?yàn)椋?/p>
ProgressView - label1 - view - label2
注意,label2要添加在view上,此時(shí)label2就可以根據(jù)view的進(jìn)度顯示一部分,然后label1顯示的是view沒(méi)有覆蓋到的一部分,label1+label2就可以完整的顯示全部要顯示的內(nèi)容了。
注意:
此方法算是一個(gè)取巧的方法,另外還有一種通過(guò)重新繪制label的方法也可以嘗試。此篇只寫(xiě)了第一種方法,第二種方法有同學(xué)做過(guò)的歡迎來(lái)交流~~
因?yàn)槭枪こ讨杏玫降模こ讨械娘@示進(jìn)度view是一個(gè)漸變的圖片,而且已經(jīng)封裝了下,需要的同學(xué)可以直接拿來(lái)用。
progressView1.backgroundColor、progressView1.progressImage、progressView1.textColor1、progressView1.textColor2 可以根據(jù)需要自己修改。
好了,這樣出來(lái)的效果就是文章開(kāi)頭的圖片效果了。
具體的圖層排列給大家看下debug模式下的內(nèi)容:
大家根據(jù)圖層排列可以很直接的看到。
重要的地方只有一點(diǎn),最上層的label2要貼在顯示進(jìn)度的view上,而且要加上這句 label2.layer.masksToBounds = YES; 讓其超過(guò)父視圖的部分不顯示。
clipsToBounds:是類View的屬性,如果設(shè)置為yes,則不顯示超出父View的部分
masksToBounds:是類CALayer的屬性,如果設(shè)置為yes,則不顯示超出父View layer的部分
他們是不同的名字,因?yàn)閁IView和CALayer是不同的,有不同的術(shù)語(yǔ)與他們有聯(lián)系的,但它們?cè)诠δ苌鲜堑葍r(jià)的。如果你拆開(kāi)clipsToBounds你會(huì)看到它只是調(diào)用masksToBounds
OK完成了,有什么不對(duì)的、更好的地方歡迎交流指正,謝謝 (*^▽^*)
iOS 自定義的一個(gè)進(jìn)度條,根據(jù)progress大小關(guān)系改變所占比,中間的分隔線是斜線,效果圖如下:
可參考源碼:
//下面是示例,設(shè)置對(duì)應(yīng)的progress(0.0~1.0)
//如果用得地方多,可以考慮自定義一個(gè)view封裝起來(lái)
static UIView *progressView = nil;
- (void)setProgress:(float)progress
{
//最大寬度
CGFloat maxWidth = CGRectGetWidth(self.view.frame);
if (!progressView) {
progressView = [UIView new];
progressView.frame = CGRectMake(0, 0, 0, 2.f);
progressView.backgroundColor = [UIColor greenColor];
[self.view addSubview:progressView];
}
//限大
progress = MIN(progress,1);
//實(shí)際寬度
CGFloat realWidth = progress *maxWidth;
[self.view bringSubviewToFront:progressView];
CGRect rect = progressView.frame;
rect.size.width = realWidth;
progressView.frame = rect;
//隱藏、顯示
progressView.hidden = progress = 1;
}
如果只加載一個(gè)圖片應(yīng)該沒(méi)有這個(gè)需求吧? 加載多個(gè)圖片的話,你用個(gè)計(jì)數(shù)器,每張加載結(jié)束回調(diào)時(shí)計(jì)算一下進(jìn)度。 進(jìn)度條可以用ProgressTimer控件每幀update不斷的setPercentage. 如果單單長(zhǎng)條就簡(jiǎn)單很多了,直接自己每幀判斷下setScale就行了 。
那是正在安裝更新,時(shí)間5分鐘--10分鐘不等,此過(guò)程大概會(huì)重復(fù)兩次,不用擔(dān)心,耐心等待它自動(dòng)完成就會(huì)進(jìn)入系統(tǒng)了
網(wǎng)頁(yè)題目:ios開(kāi)發(fā)進(jìn)度條,ios進(jìn)度條小組件
網(wǎng)站網(wǎng)址:http://chinadenli.net/article47/dsggchj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、做網(wǎng)站、網(wǎng)站改版、自適應(yīng)網(wǎng)站、服務(wù)器托管、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)