欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

ios開發(fā)圓角設(shè)置,iphone圓角界面設(shè)置

iOS: UIView,UILabel等 設(shè)置圓角的正確方式

之前的方式一般是這樣的:

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、微信平臺小程序開發(fā)、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。

label.layer.cornerRadius = 2;

label.layer.masksToBounds = YES /?label.layer.clipToBounds = YES

這樣會出現(xiàn)離屏渲染,如果是每個TableViewCell設(shè)置一些圓角,就會使列表滑動起來有明顯卡頓。

正確方式:

摒棄label.layer.masksToBounds = YES /?label.layer.clipToBounds = YES方法。

情形1:

對于不需要設(shè)置背景色的情況,只設(shè)置borderWidth、borderColor,cornerRadius,就可以實現(xiàn)圓角功能。

情形2:

對于設(shè)置背景色的情況,不去設(shè)置label的backgroundColor,而是直接設(shè)置label.layer.backgroundColor,這樣就可以實現(xiàn)單獨設(shè)置cornerRadius,顯示圓角的效果。

備注:

對于情形2,設(shè)置label的backgroundColor同時設(shè)置cornerRadius是不能正常顯示圓角的,再同時設(shè)置borderWidth、borderColor也不行。原因是:UILabel設(shè)置backgroundColor的行為,不再是設(shè)定layer的背景色而是為contents設(shè)置背景色。

iOS設(shè)置圓角的四種方法

cornerRadius屬性影響layer顯示的background顏色和前景框border,對layer的contents不起作用。故一個imgView(類型為UIImageView)的image不為空,設(shè)置imgView.layer的cornerRadius,是看不出顯示圓角效果的,因為image是imgView.layer的contents部分。

這種情況下將layer的masksToBounds屬性設(shè)置為YES,可以正確的繪制出圓角效果。但是cornerRadius0,masksToBounds=YES,會觸發(fā)GPU的離屏渲染,當一個屏幕上有多處觸發(fā)離屏渲染,會影響性能。通過勾選Instruments-Core Animation-Color Offscreen-Rendered Yellow,可以看到屏幕上觸發(fā)離屏渲染的會被渲染成黃色。離屏渲染的代價昂貴,蘋果也意識到會產(chǎn)生性能問題,所以iOS9以后的系統(tǒng)里能不產(chǎn)生離屏渲染的地方也就不用離屏渲染了。比如對UIImageView里png圖片設(shè)置圓角不會觸發(fā)離屏渲染。

通過設(shè)置view.layer的mask屬性,可以將另一個layer蓋在view上,也可以設(shè)置圓角,但是mask同樣會觸發(fā)離屏渲染。

有兩種方式來生成遮罩,一是通過圖片生成,圖片的透明度影響著view繪制的透明度,圖片遮罩透明度為1的部分view被繪制成的透明度為0,相反圖片遮罩透明度為0的部分view被繪制成的透明度為1。二是通過貝塞爾曲線生成,view中曲線描述的形狀部分會被繪制出來。

通過CPU重新繪制一份帶圓角的視圖來實現(xiàn)圓角效果,會大大增加CPU的負擔(dān),而且相當于多了一份視圖拷貝會增加內(nèi)存開銷。但是就顯示性能而言,由于沒有觸發(fā)離屏渲染,所以能保持較高幀率。下例是繪制一個圓形圖片,繪制其它UIView并無本質(zhì)區(qū)別。重新繪制的過程可以交由后臺線程來處理。

此方法就是在要添加圓角的視圖上再疊加一個部分透明的視圖,只對圓角部分進行遮擋。圖層混合的透明度處理方式與mask正好相反。此方法雖然是最優(yōu)解,沒有離屏渲染,沒有額外的CPU計算,但是應(yīng)用范圍有限。

以上四種方法的 Objective-C實現(xiàn)

iOS 設(shè)置圖片圓角的三種方式

方式一:通過 layer 設(shè)置圓角

最簡單的一種,但是影響性能,一般在正常的開發(fā)中使用很少

方式二:使用貝塞爾曲線UIBezierPath和Core Graphics框架畫出一個圓角

方式三:使用CAShapeLayer和UIBezierPath設(shè)置圓角

這種方式最好,內(nèi)存的消耗最少,而且渲染快速

新聞名稱:ios開發(fā)圓角設(shè)置,iphone圓角界面設(shè)置
當前URL:http://aaarwkj.com/article30/dsshdpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計品牌網(wǎng)站建設(shè)、網(wǎng)站營銷云服務(wù)器、ChatGPT網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
日本在线一区二区中文| 同为人妻一区二区三区| 久久最新视频中文字幕| 少妇又色又爽又高潮欧美| 久久久国产精品久久久| 四虎最新在线播放视频| 三级黄色片免费久久久| 怡红院怡春院视频免费看| 欧美日韩在线精品1区2区| 久热在线这里只有精品| 久久人婷婷人人澡人人爽| 蜜臀一二区免费在线视频| 91国产视频在线观看免费| 欧美中文字幕精在线不卡| 亚洲日本一区二区三区电影| 国产精品久久久久久久久| 国自产偷精品不卡在线| 人妻91一区二区三区| 日韩av综合色区人妻| 日韩不卡在线观看免费| 五月爱婷婷六月爱丁香色| 后入视频国产在线观看| 精品国产亚洲av未满十八| 欧美国产日韩激情在线| 五月婷婷六月丁香免费视频| 国产手机在线91精品观看| 未满十八禁在线观看免费| 91九色蝌蚪国产欧美亚洲| 亚洲欧美日韩老汉影院| 91色九色吧在线观看| 亚洲视频在线的视频在| 九九视频在线观看免费专区| 四虎精品国产一区二区三区| 色综合色综合色综合色| 18岁下禁止看的视频| 国产午夜精品一区二区三区| 神马久久午夜免费福利| 亚洲成综合人在线播放| 亚洲禁看av一区不卡| 视频一区视频二区在线| 亚洲av一本岛在线播放|