日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UILabel简单高效实现圆角的方式

發布時間:2024/4/14 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UILabel简单高效实现圆角的方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求

我們會經常遇到這樣一個需求,給TableViewCell添加標簽,例如:餓了么App中店鋪會有,減、特、新等標簽,這些標簽一般都是用UILabel控件實現,UILabel中設置text,textColor,backgroundColor,以及cornerRadius。

)

問題

這個需求要求我們做圓角,業界也有很多做圓角的方式,最簡單的就是設置label.layer.cornerRadius = 2; label.layer.masksToBounds = YES; 但是這樣做(label.layer.cornerRadius > 0 && label.layer.masksToBounds = YES)會出現離屏渲染,對于頁面中只有少量需要做圓角,也不會造成卡頓,但是如果是每個TableViewCell設置一些圓角,就會使列表滑動起來有明顯卡頓。

解決方法

業界對于圓角優化很多方式,大家可以搜一下相關文章。本文只針對UILabel的cornerRadius方式進行講解。先說一下cornerRadius屬性,它是影響layer顯示的backgroundColor和border,對layer的contents不起作用。

  • 對于不需要設置label的backgroundColor,只設置borderWidth、borderColor的label,直接設置cornerRadius,不需要設置masksToBounds = YES,就可以實現圓角功能。
  • 對于需要同時設置label的backgroundColor時,直接設置cornerRadius是不能正常顯示圓角的,原因是:UILabel設置backgroundColor的行為,不再是設定layer的背景色而是為contents設置背景色。所以解決方式是我們不去設置label的backgroundColor,而是直接設置label.layer.backgroundColor,這樣就可以實現單獨設置cornerRadius,顯示圓角的效果。代碼:
UILabel *tagLabel = [UILabel new]; tagLabel.text = @"減"; tagLabel.textColor = [UIColor whiteColor]; tagLabel.font = [UIFont systemFontOfSize:12]; tagLabel.layer.backgroundColor = [UIColor greenColor].CGColor; tagLabel.layer.cornerRadius = 2; 復制代碼

參考文章:iOS設置圓角的四種方法

總結

以上是生活随笔為你收集整理的UILabel简单高效实现圆角的方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。