ios开发transform属性

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageV;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

- (IBAction)moveUp:(id)sender {
    //平移
    [UIView animateWithDuration:0.5 animations:^{
        //使用Make,它是相对于最原始的位置做的形变.不累加形变,且多次点击只形变一次
        //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100);
        //相对于上一次做形变.初始值self.imageV.transform为0,多次点击,会自动在上一次形变的基础上做平移
        self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, -100);
    }];

}
- (IBAction)moveDown:(id)sender {

    //平移
    [UIView animateWithDuration:0.5 animations:^{
        //使用Make,它是相对于最原始的位置做的形变.
        //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100);
        //相对于上一次做形变.
        self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, 100);
    }];
}

- (IBAction)rotation:(id)sender {

    [UIView animateWithDuration:0.5 animations:^{

        //旋转(旋转的度数, 是一个弧度),M_PI_4,_下划线表示一个除号/
        //self.imageV.transform = CGAffineTransformMakeRotation(M_PI_4);

        self.imageV.transform = CGAffineTransformRotate(self.imageV.transform, M_PI_4);

    }];

}
- (IBAction)scale:(id)sender {

    [UIView animateWithDuration:0.5 animations:^{

       //缩放
        //self.imageV.transform = CGAffineTransformMakeScale(0.5, 0.5);
        self.imageV.transform = CGAffineTransformScale(self.imageV.transform, 0.8, 0.8);

    }];

}

/**
 *    总结:

 1:平移:transform是结构体,定义一个transform:CGAffineTransform form

 //使用Make,它是相对于最原始的位置做的形变.不累加形变,且多次点击只形变一次
 //self.imageV.transform = CGAffineTransformMakeTranslation(0, -100);
 //相对于上一次做形变.初始值self.imageV.transform为0,多次点击,会自动在上一次形变的基础上做平移
 self.imageV.transform = CGAffineTransformTranslate(self.imageV.transform, 0, -100);

 2:旋转:
 //旋转(旋转的度数, 是一个弧度),M_PI_4,_下划线表示一个除号/
 //self.imageV.transform = CGAffineTransformMakeRotation(M_PI_4);

 self.imageV.transform = CGAffineTransformRotate(self.imageV.transform, M_PI_4);

 3:缩放:
 //缩放
 //self.imageV.transform = CGAffineTransformMakeScale(0.5, 0.5);
 self.imageV.transform = CGAffineTransformScale(self.imageV.transform, 0.8, 0.8);

 4:清空形变属性:
   CGAffineTransform form = CGAffineTransformIdentity;
   self.imageV.transform = form;

 5:1:在实际开发中,使用场景:1:当涉及一些frame的改变或是形变的时候可以用transform来取代frame 2:一般在实际开发中都是平移,旋转缩放混合使用。

 */

@end
时间: 2024-10-10 01:16:08

ios开发transform属性的相关文章

iOS开发-automaticallyAdjustsScrollViewInsets属性

最近遇到一个问题是这样的,App一般自己都会有一个UINavigationController,顶部TableView如果有tableHeaderView如果设置起始位置是(0,0)是在导航栏的下面的,为了更好地UI希望从屏幕的(0,0)开始,就遇到了上面的这个问题,简单的看一下效果: 主要代码如下: - (UITableView *)tableView { if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:CG

iOS开发Item属性总结

一.UINavigationItem1> 获得方式self.navigationItem // self是指控制器 2> 作用可以用来设置当前控制器顶部导航栏的内容// 设置导航栏中间的内容self.navigationItem.titleself.navigationItem.titleView 二.UIBarButtonItem1> 用在什么地方// 设置导航栏左上角的内容self.navigationItem.leftBarButtonItem// 设置导航栏右上角的内容self.

ios开发之属性字符串NSAttributeString与NSString相互转换包含图片

分享几个常用的 属性字符串NSAtrributeString 和 NSString 普通字符串的 转换方法: 一:把普通的字符串,替换为包含图片的属性字符串 plist 文件,图片 格式见下图: +(NSMutableAttributedString *)stringToAttributeString:(NSString *)text { //先把普通的字符串text转化生成Attributed类型的字符串 NSMutableAttributedString * attStr = [[NSMut

IOS 开发笔记-基础 UI(4)按钮的使用(transform属性)和学习案例

利用transform属性可以修改控件的位移(位置).缩放.旋转.经常用在动画里,比如旋转角度,动画缩放,平移等 先学几个 xcode 开发的小技巧: 故事板的viewcontroll,可以直接拖拽复制,且不同项目里的图片素材也可以相互拖拽复制使用,但是图片的拖拽复制要按option 健进行,否则就是剪切了.那么我们在开发到类似的一些项目的时候,不用每次都重写弄界面,那么可以直接拖拽拷贝故事板,图片拖拽要按住 option 键同时拽到 images.xcassets 目录下即可正常显式,且拖拽到

文顶顶 iOS开发UI篇—transframe属性(形变)

iOS开发UI篇—transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置”的形变 CGAffineTransformMakeTranslation(平移) CGAffineTransformMakeScale(缩放) CGAffineTransformMakeRotation(旋转) (2) 创建“基于transform参数”的形变

iOS开发UI基础—transframe属性(形变)

iOS开发UI基础-transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建"基于控件初始位置"的形变 CGAffineTransformMakeTranslation(平移) CGAffineTransformMakeScale(缩放) CGAffineTransformMakeRotation(旋转) (2) 创建"基于trans

iOS开发OC基础:OC属性的一些概念和基本使用

一.属性简介 //属性是OC2.0之后新出的一种语法,能让我们快速的生成setter以及getter方法,大大简化代码 二.如何定义一个属性 //@property 属性关键字,用来定义属性 //NSString * 属性的类型 //name 属性的名字. //@property 只是生成的setter以及getter方法的声明.@property NSString *name; 三.属性的使用注意事项//如果在.m文件中我们自己实现了setter以及getter方法,则编译器就不会再帮我们生成

iOS开发>学无止境 - 遍历Model类的属性并完善使用Runtime给Model类赋值

在前几天的一篇博客<iOS开发之使用Runtime给Model类赋值>中介绍了如何使用运行时在实体类的基类中添加给实体类的属性赋值的方法,这个方法的前提是字典的Key必须和实体类的Property Name相同,然后通过运行时来生成和执行Setter方法给Model类的属性赋值. 通 过Runtime来给Model类属性赋值的好处是多多的,它便于代码的后期维护,并且提高了开发效率.当你拿到解析后的字典时你不用一个一个的通过 key去把字典的值赋值给相应的Model类的属性,本篇博客中会给出如何

iOS开发UI篇—transframe属性(形变)

1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置”的形变 CGAffineTransformMakeTranslation(平移) CGAffineTransformMakeScale(缩放) CGAffineTransformMakeRotation(旋转) (2) 创建“基于transform参数”的形变 CGAffineTransformTranslate