CALayer的autolayout

原创 2016年08月31日 15:25:34

autolayout不适用于layer

这里是这么解决的:重写view的layerClass,view使用auto layout,调用view的layoutSubviews重新绘制layer的边界

这里以shape layer为例子

在view.m中如下实现

+(Class)layerClass{
    return [CAShapeLayer class];
}

- (instancetype)init
{
    self = [super init];
    if (self) {
        ((CAShapeLayer *)self.layer).fillColor = [UIColor colorWithRed:0 green:183.0 / 255.0 blue:56.0 / 255.0 alpha:1.0].CGColor;
        ((CAShapeLayer *)self.layer).strokeColor = [UIColor colorWithRed:0 green:183.0 / 255.0 blue:56.0 / 255.0 alpha:1.0].CGColor;
        ((CAShapeLayer *)self.layer).strokeEnd = 0;
    }
    return self;
}
-(void)layoutSubviews{
    [super layoutSubviews];
    
    UIBezierPath *bezierPath = [UIBezierPath bezierPath];
    [bezierPath moveToPoint:CGPointMake(10, CGRectGetHeight(self.bounds) / 2.0)];
    [bezierPath addLineToPoint:CGPointMake(CGRectGetWidth(self.bounds), CGRectGetHeight(self.bounds) / 2.0)];
    ((CAShapeLayer *)self.layer).path = bezierPath.CGPath;
    
    ((CAShapeLayer *)self.layer).lineWidth = CGRectGetHeight(self.bounds);
    
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

IOS Layer的"自动布局"

原创Blog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=list前言:今天在stackoverflow上给一个外国友人回答问题的时候,遇到了La...

CAShapeLayer

CAShapeLayer 分类: iOS2014-04-22 10:15 62人阅读 评论(0) 收藏 举报 之前讲过CALayer动画相关知识,再来看看更加复杂的CAShapeL...

CALayer的基本使用demo

  • 2015-12-01 03:12
  • 48KB
  • 下载

IOS_CALayer基本使用

  • 2015-05-23 08:45
  • 409B
  • 下载

AVComposition中的CALayer

AVMutableComposition除了可以插入视频轨道、音频轨道外,还可以在上面覆盖layer,以添加水印、动画等。想想新闻联播下面转圈的地球,这种效果没有layer还真不好做 AVVideoC...

CALayer及其子类

  • 2016-01-05 16:51
  • 3.00MB
  • 下载

CALayer的使用

  • 2015-04-01 10:35
  • 40KB
  • 下载

CALayer 类的介绍(创建+属性)

CALayer类,也就是图层layer,管理基于图片的内容,可以在内容中展示动画。CALayer本身也有一些可视化的属性,比如边界,背景色和阴影。CALayer也存储了在layer上的可视化内容的初始...

CALayer制作进度条

  • 2015-11-08 19:36
  • 978KB
  • 下载

CALayer samplecode

  • 2011-06-01 13:42
  • 289KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)