美文网首页
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)

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