NSValue的使用

来源:互联网 发布:免费棋牌app源码 编辑:程序博客网 时间:2024/05/19 22:00

1、结构体转换成对象

CALayer的形变就要利用到它

#pragma mark - CALayer的形变- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{    /*     Returns a transform that rotates by 'angle' radians about the vector '(x, y, z)'.     x 上下旋转;y 左右旋转,z 绕垂直屏幕的方向旋转     */    [UIView animateWithDuration:2 animations:^{        //旋转        //        [self.imageView.layer setTransform:CATransform3DMakeRotation(M_PI, 1, 1, 0)];//(0,0,1),(0,0,0)构成一个Z轴的向量        //收放        //        [self.imageView.layer setTransform:CATransform3DScale(self.imageView.layer.transform, 0.5, 0.5, 0.5)];        //平移//        [self.imageView.layer setTransform:CATransform3DTranslate(self.imageView.layer.transform, 10, 10, 10)];        //KVC        [self.imageView.layer setValue:[NSValue valueWithCATransform3D:CATransform3DTranslate(self.imageView.layer.transform, 20, 20, 20)] forKeyPath:@"transform"];                //[self.imageView.layer setValue:@M_PI forKeyPath:@"transform.rotation"];    }];}

transform的属性列表:

transform的属性列表

原创粉丝点击