文档章节

IOS坐标系

行云流水8848
 行云流水8848
发布于 2015/10/16 13:47
字数 373
阅读 47
收藏 2

1、ios坐标系统

    ios以左上角为坐标原点(0,0),以原点向右侧为X轴正方向,原点下侧为Y轴正方向.

    1.1  CGPoint

    ios采用CGPoint来表示点在坐标系上X、Y位置。

    struct CGPoint {
         CGFloat x;
         CGFloat y;
    };

    我们可以通过CGPointMake(x,y)来创建一个坐标点:

    例:
        CGPoint point = CGPointMake(80,40)
    函数原型
        public func CGPointMake(x: CGFloat, _ y: CGFloat) -> CGPoint


  1.2 CGSize

    ios采用CGSize来表示视图的宽度和高度,即视图的大小。

    public struct CGSize {
         public var width: CGFloat
         public var height: CGFloat
         public init()
         public init(width: CGFloat, height: CGFloat)
    }    

    我们可以通过CGSizeMake(width,height)来创建一个矩形的大小,

    例:
        CGSize size = CGSizeMake(80,40)
        将创建一个宽度为80,高度为40的矩形大小。

    函数原型
        public func CGSizeMake(width: CGFloat, _ height: CGFloat) -> CGSize

  1.3 CGRect


    CGRect则是结合了CGPoint和CGSize,用来表示矩形的位置和大小。
    它的origin表示矩形右上角所在位置(CGPoint),size表示矩形的大小(CGSize)。
    public struct CGRect {
         public var origin: CGPoint
         public var size: CGSize
         public init()
         public init(origin: CGPoint, size: CGSize)
    }

2. frame, bounds, center属性


    frame:描述当前视图在其父视图中的位置和大小。

    bounds:描述当前视图在其自身坐标系统中的位置和大小。

    center:描述当前视图的中心点在其父视图中的位置。

3. 使用场景


    frame属性通常用来设置视图的大小和位置
   
    bounds属性比较少用

    center属性来改变(移动)视图的位置


© 著作权归作者所有

共有 人打赏支持
行云流水8848
粉丝 7
博文 318
码字总数 125594
作品 0
青岛
程序员
iOS 实现输入框跟随键盘自动上移

场景还原 有些时候在包含输入框的页面中,点击输入框输入会因键盘弹起而遮挡住一部分输入框,影响用户体验。iOS在默认情况下并不会处理这种问题,不过我们可以自己实现键盘弹起输入框自动上移...

还是不够辣
2017/04/12
0
0
iOS与JS交互之UIWebView-协议拦截

级别:★★☆☆☆ 标签:「iOS与JS交互」「UIWebView与JS交互」「UIWebView拦截协议」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),J...

QiShare
08/28
0
0
iOS与JS交互之WKWebView-协议拦截

级别:★★☆☆☆ 标签:「iOS与JS交互」「WKWebView与JS交互」「WKWebView拦截协议」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),J...

QiShare
09/01
0
0
iOS--OC--图片拉伸和尺寸变换,图片简单处理

图片拉伸和尺寸变换 图片拉伸 : - (UIImage )stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight; 一般 leftCapWidth = imageWidth .5f, top......

丶雨凡
2015/03/26
0
0
学习如何针对iOS 7进行开发?

  iOS 7已经发布了六个测试版,除了beta 6进行了小幅修正外,其他几个测试版都有不小的改动。昨天有消息说苹果将在9月10日发布iOS 7正式版,那么GM版很快将会与开发者见面。在iOS 7来临前夕...

fangzhou99
2013/09/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java GC机制详解

垃圾收集 Garbage Collection 通常被称为“GC”,本文详细讲述Java垃圾回收机制。 导读: 1、什么是GC 2、GC常用算法 3、垃圾收集器 4、finalize()方法详解 5、总结--根据GC原理来优化代码 ...

小刀爱编程
19分钟前
1
0
ORACEL学习--理解over()函数

二、理解over()函数 1.1、两个order by的执行时机 分析函数是在整个sql查询结束后(sql语句中的order by的执行比较特殊)再进行的操作, 也就是说sql语句中的order by也会影响分析函数的执行结果...

spinachgit
21分钟前
1
0
抽象语法树

import asttree = ast.parse('def hello_word(): print("hello world!")')def hell_word(): print(1)print(ast.dump(tree)) 语法树 可以基于这个实现另外一种编程语言...

colin_86
22分钟前
1
0
Akka查询设备组《fourteen》译

加入以下依赖到项目中: 介绍: 到目前为止,我们看到的会话模式很简单,因为它们要求Actor保持很少或没有状态。 特别: 设备actor返回一个读数,不需要更改状态。 记录温度,更新单个字段。...

woshixin
29分钟前
1
0
wait、notify、notifyAll 的用法

wait()、notify()、notifyAll()是三个定义在Object类里的方法,用来控制线程的状态。这三个方法最终调用的都是jvm的native方法, 随着jvm运行平台的不同可能有些许差异。 wait(): 使持有该对...

noob_fly
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部