现在的位置: 首页 > web前端 > 正文

cornerradius属性无效的原因

2020年07月17日 web前端 ⁄ 共 886字 ⁄ 字号 评论关闭

  cornerRadius属性borderWidth今天用下面两句代码给一个view加圆角,碰到两次无效的情况,记录如下,当有人查到的时候少走弯路self.myView.layer.cornerRadius =5.0;self.myView.layer.masksToBounds = YES。


  cornerRadius属性无效原因


  一:当你把这个方法写在controller的init方法里面的时候,是无效的,


  要写在viewDidLoaded方法里面。


  二:如果人我没有写第二句的言知,圆角还是加不上去的,


  因为cornerradius只有在masksToBounds为yes的情况下是生效的。


  但是masksToBounds默认是no,


  还有一点要注意的是,如果你设置其它的一些属性也有可能会把这个maskToBounds置成yes,


  比如:borderWidth


  iOS-CornerRadius的正确姿势


  iOS设置圆角的时候错误的方式会造成离屏幕渲染


  m.layer.cornerRadius=8


  m.layer.borderColor=UIColor.redColor().CGColor


  m.layer.masksToBounds=true//这句会早成离屏渲染,造成屏幕卡顿


  目前测试可解决UIImageView、UILabel和UIButton的情况


  classCornerRadiusLayer:CALayer{


  overridefuncdisplay(){


  self.contentsScale=UIScreen.mainScreen().scale


  super.display()


  }


  varsborderWidth:CGFloat?


  varscornerRadius:CGFloat?


  varsborderColor:UIColor?


  overridefuncdrawInContext(ctx:CGContext){


  总之,cornerradius给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.