美文网首页
Swift-Tips(1)

Swift-Tips(1)

作者: 伽蓝香 | 来源:发表于2016-04-05 17:11 被阅读265次
  1. layer.shouldRasterize

优化圆角图像的流畅度

let imageView = UIImageView(frame: frame)
imageView.image = UIImage(image: "default")
imageView.layer.cornerRadius = 10
imageView.layer.shouldRasterize = true
imageView.layer.rasterizationScale = UIScreen.mainScreen().scale

当shouldRasterize设成true时,layer被渲染成一个bitmap,并缓存起来,等下次使用时不会再重新去渲染了。实现圆角本身就是在做颜色混合(blending),如果每次页面出来时都blending,消耗太大,这时shouldRasterize = yes,下次就只是简单的从渲染引擎的cache里读取那张bitmap,节约系统资源。
额外收获:如果在滚动tableView时,每次都执行圆角设置,肯定会阻塞UI,设置这个将会使滑动更加流畅。

2.CGRect小技巧

CGRectGetHeight返回label本身的高度
CGRectGetWidth()返回label本身的宽度
CGRectGetMinY返回label顶部y的坐标
CGRectGetMaxY 返回label底部y的坐标
CGRectGetMinX 返回label左边缘x的坐标
CGRectGetMaxX 返回label右边缘x的坐标
CGRectGetMidX表示得到一个frame中心点的X坐标
CGRectGetMidY表示得到一个frame中心点的Y坐标

let label = UILabel(frame: CGRectMake(10, 10, 110, 150))
print("CGRectGetHeight--\(CGRectGetHeight(label.frame))" )
print("CGRectGetWidth--\(CGRectGetWidth(label.frame))")
print("CGRectGetMaxX--\(CGRectGetMaxX(label.frame))")
print("CGRectGetMaxY--\(CGRectGetMaxY(label.frame))")
print("CGRectGetMidX--\(CGRectGetMidX(label.frame))")
print("CGRectGetMidY--\(CGRectGetMidY(label.frame))")
print("CGRectGetMinX--\(CGRectGetMinX(label.frame))")
print("CGRectGetMinY--\(CGRectGetMinY(label.frame))")

    2015-04-24 15:39:15.577 webView[15743:677046] CGRectGetHeight--150.000000
 2015-04-24 15:39:15.577 webView[15743:677046] CGRectGetWidth--110.000000
    2015-04-24 15:39:15.577 webView[15743:677046] CGRectGetMaxX--120.000000
    2015-04-24 15:39:15.577 webView[15743:677046] CGRectGetMaxY--160.000000
    2015-04-24 15:39:15.577 webView[15743:677046] CGRectGetMidX--65.000000
    2015-04-24 15:39:15.578 webView[15743:677046] CGRectGetMidY--85.000000
    2015-04-24 15:39:15.578 webView[15743:677046] CGRectGetMinX--10.000000
    2015-04-24 15:39:15.578 webView[15743:677046] CGRectGetMinY--10.000000

相关文章

  • Swift-Tips(1)

    layer.shouldRasterize 优化圆角图像的流畅度 当shouldRasterize设成true时,...

  • Swift 知识小集

    首发地址:http://blog.ifelseboyxx.com/2017/12/07/swift-tips/ps...

  • Swift-Tips

    1.属性字符串 2.Optional 实现 3.可选解析 你可以包含多个可选绑定或多个布尔条件在一个 if 语句中...

  • Swift-Tips(2)

    正则表达式 收集自百度回答 ^([a-zA-Z0-9-])+@([a-zA-Z0-9-])+(\.[a-zA-Z0...

  • Swift-Tips之rounded(_:)

    rounded(_:) 使用指定的舍入规则将该值取整。 代码示例 总结 awayFromZero: 四舍五入到最接...

  • Swift-Tips之'==='与'==

    正文 ==:它默认比较基本类型的值,比如:Int,String等,它不可以比较引用类型(reference typ...

  • swift-tips之如何查询数组对象的index

    Swift-Version:4.2.1 正文 我们在开发中经常会碰到这样一种需求:查找某个element在数组中的...

  • 1▪1▪1▪1▪1

    今天是国际劳动节,出门看人头,上路遇堵车,处处挤破头,急哭也停不下车。 不如歇了吧 ...

  • 1+1+1…+1=1

    对“一”的理解: 赠人玫瑰,不仅仅是手留余香。 利益他人,实际上也疗愈了自己。 利他、利己,如此往复循环, 最终利...

  • (-1)×(-1)= 1

    数学家经过很长一段时间才认识到(-1)×(-1)= 1是不能被证明的(即使大数学家欧拉曾给出不能令人信服的...

网友评论

      本文标题:Swift-Tips(1)

      本文链接:https://www.haomeiwen.com/subject/plmplttx.html