文档章节

IOS坐标系

行云流水8848
 行云流水8848
发布于 2015/10/16 13:47
字数 373
阅读 50
收藏 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,iPad,iPhone,Objective-c

嘿!我又回来了。 在前面我介绍了iOS的视图机制,我也提到了iOS的视图框框可以通过drawRect自己绘图,我也说过每个view的layer(CALayer)就像一个视图的投影,其实我们也可以来操作它定制一...

晨曦之光
2012/05/28
2.9K
0
iOS 实现输入框跟随键盘自动上移

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

还是不够辣
2017/04/12
0
0
iOS--OC--图片拉伸和尺寸变换,图片简单处理

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

丶雨凡
2015/03/26
0
0
2018 iOS 面试题大全(补充完整版)

原文地址:2018 iOS 面试题大全 由于原作者并没有继续更新,这里我转过来继续更新下 这个栏目将持续更新--请iOS的小伙伴关注! 1、iOS 应用导航模式有哪些? 2、iOS 中持久化方式有哪些? 3、...

Theendisthebegi
2018/11/15
0
0
iOS的绘图机制二 - iOS,iPad,iPhone,Objective-c

在iOS的绘图机制那篇文章中,我说了很多大道理,现在我觉得应该摆上台来说程序本身的主题了。当说完程序本身的主题,我再引入绘图如何去定制我们的视图(UIView),估计大家就会和我一样收获...

晨曦之光
2012/05/28
598
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux Wireshark普通用户启动使用方案

当系统安装好Wireshark后请正常启动是否可以进行正常使用,如果不行请参考下列指导 向系统添加一个用户组 sudo groupadd wireshark //如提示此组存在可跳过 将指定用户添加到这个组中 sudo...

CHONGCHEN
今天
2
0
CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
2
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
4
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
4
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部