在iOS中,我们是不可以直接访问控件中frame的结构体的成员的,因此我们需要分三步来改变一个UI控件的位置,大小

一.frame用法

frame的结构体类型为:

struct CGRect {

CGPoint origin;

CGSize size;

};

定义中间变量接收,然后赋值

      //得到button控件的frame赋值为自定义变量

   CGRect frame= self.btnImage.frame;

      //修改结构体变量

    frame.origin.y-=10;

      //重新赋给button的frame

  self.btnImage.frame=frame;

二,transform的常用用法,

 下面两个方法是相对于控件原始位置进行改变的,不能进行连续改变

//放大或者缩小

    CGAffineTransformMakeScale(<#CGFloat sx#>, <#CGFloat sy#>);

    //上下左右移动

CGAffineTransformMakeTranslation(<#CGFloat tx#>, <#CGFloat ty#>);

下面的方法可以连续改变

    //上下左右移动

   btn.transform=CGAffineTransformTranslate(btn.transform, 10, 0);

btn.transform=CGAffineTransformTranslate(btn.transform, 0, +10);

btn.transform=CGAffineTransformTranslate(btn.transform, -10, 0);

    //旋转

btn.transform=CGAffineTransformRotate(btn.transform, M_PI_4);

btn.transform=CGAffineTransformRotate(btn.transform, -M_PI_4);

btn.transform=CGAffineTransformRotate(btn.transform, -M_PI_4);

    //复位

btn.transform=CGAffineTransformIdentity;

    //放大或者缩小

btn.transform=CGAffineTransformScale(btn.transform, 1.2, 1.2);

btn.transform=CGAffineTransformScale(btn.transform, -0.8, -0.8);

UI中 frame 与 transform的用法与总结的更多相关文章

  1. UI中的Rect Transform

    RectTransform 是 Transform 的 2D 对应 Component. Transform 表示单个点,Rect Transform 表示一个2D矩形(UI空间),如果父子物体都有R ...

  2. UI各种小控件的用法

    今天给大家列举出来UI中的一些小控件的用法.方便大的学习与使用 一些方法和属性我们能够查看API文档.不必将每一个控件的功能都记住, 由于在使用的过程中,我们能够查看API文档.方便使用,我们仅仅要记 ...

  3. A+B for Matrices 及 C++ transform的用法

    题目大意:给定两个矩阵,矩阵的最大大小是M*N(小于等于10),矩阵元素的值的绝对值小于等于100,求矩阵相加后全0的行以及列数. #include<iostream> using nam ...

  4. ##DAY1 UI、frame、center、bounds、UIVIew

    ##DAY1 UI.frame.center.bounds.UIVIew #pragma mark ———————UI——————————— UI的本意是用户界面,是英文User和 Interface ...

  5. html中a标签的常见用法

    html中a标签的常见用法 一.总结 一句话总结: a.页面跳转 b.使用锚点定位 c.下载文件 二.html中<a>标签的用法 转自或参考:html中<a>标签的用法http ...

  6. unity ui中使用onmouseover

    unity ui中鼠标移进或者移出的触发方式与2d.3d的不同,2d.3d物体使用的是onmouseover,ui使用的是OnPointerEnter.需要实现以下两个接口. public class ...

  7. Spring mvc中@RequestMapping 6个基本用法

    Spring mvc中@RequestMapping 6个基本用法 spring mvc中的@RequestMapping的用法.  1)最基本的,方法级别上应用,例如: Java代码 @Reques ...

  8. Delphi中stringlist分割字符串的用法

    Delphi中stringlist分割字符串的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 1.CommaT ...

  9. ASP.NET Core 在 Swagger UI 中显示自定义的 Header Token

    Swagger 是个好东西,对于前后端分离的网站来说,不仅是提高前后端开发人员沟通效率的利器,也大大方便了后端人员测试 API.有时候,API 中可能需要在 Header 中设置认证参数,比如 aut ...

随机推荐

  1. 指针 与 数组 以及 a 与 &a的区别

      指针 与数组 并没有什么关系,   指针就是指针,指针变量在32位系统下,永远占4个byte,其值为某一个内存的地址,指针可以指向任何地方,但是不是任何地方你都能通过这个指针变量访问到;   数组 ...

  2. mysql grant ,User,revoke

    mysql的权限一直都都是很关心的重点,我知道的也只是很少的一部分,对于每个数据库我习惯创建一个一个用户,该用户只对自己从属的数据库产生进行操作,在一部分的程度上可以保护自己的数据库, 比如我有一个数 ...

  3. Java 多线程Socket编程通讯--实现聊天室代码

    1.创建服务器类 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import ja ...

  4. 100m和1000m网线的常见制作方法

    100m和1000m网线的常见制作方法 100m和1000m网线的常见制作方法: 5类线(100m)的制作: a: 绿白(3).绿(6).橙白(1).蓝(4).蓝白(5).橙(2).棕白(7).棕(8 ...

  5. Django~Databases

    更换数据库 migrate 下哈 admin 要重新建立 修改\mysite\settings.py DATABASES = {    'default': {        'ENGINE': 'd ...

  6. How can I fix “Compilation unit name must end with .java, or one of the registered Java-like extensions”?

    How can I fix “Compilation unit name must end with .java, or one of the registered Java-like extensi ...

  7. 【python】为什么修改全局的dict变量不用global关键字

    转自:http://my.oschina.net/leejun2005/blog/145911?fromerr=qnPCgI19#OSC_h4_8 为什么修改字典d的值不用global关键字先声明呢? ...

  8. 【python】多进程学习

    来源:廖雪峰 讲解看来源吧 把例子记一下 1.用fork创建进程 import os print "Process (%s) start..." % os.getpid() pid ...

  9. Oracle双实例切换

    1.在Linux下切换: export ORACLE_SID=xxx1   sqlplus "/as sysdba" //进入sql   startup   //启动数据库实例1  ...

  10. XPath的基本使用

    XPath XPath 使用路径表达式来选取 XML 文档中的节点或节点集. 路径表达式 结果 bookstore 选取 bookstore 元素的所有子节点. /bookstore 选取根元素 bo ...