iOS - OC NSRect 位置和尺寸

简介: 前言结构体 这个结构体用来表示事物的坐标点和宽高度。 typedef CGRect NSRect; struct CGRect { CGPoint origin; CGSize size; }; typedef struct ...

前言

  • 结构体 这个结构体用来表示事物的坐标点和宽高度。

        typedef CGRect NSRect;
    
        struct CGRect {
            CGPoint origin;
            CGSize size;
        };
    
        typedef struct CGRect CGRect;

1、NSRect 结构体变量的创建与调用

    // NSRect 结构体变量的创建与赋值
            
        // 先定义变量,再赋值
        NSRect rect1;
        rect1.origin.x = 6;
        rect1.origin.y = 1;
        rect1.size.width = 1;
        rect1.size.height = 6;
            
        // 定义时直接赋值,或者  NSRect rect2 = {{7, 2}, {2, 7}};
        NSRect rect2 = {7, 2, 2, 7};
        
        // 给指定成员赋值
        NSRect rect3 = {.size.height = 8, .size.width = 3, .origin.y = 3, .origin.x = 8};
        
        // 使用函数赋值
        NSRect rect4 = NSMakeRect(9, 4, 4, 9);
        
        // 使用等价的结构体定义,等价于 CGRect rect5 = CGRectMake(10, 5, 5, 10);
        NSRect rect5 = CGRectMake(10, 5, 5, 10);
            
    // NSRect 结构体变量值的调用
        
        NSLog(@"rect1: %.0f, %.0f, %.0f, %.0f", rect1.origin.x, rect1.origin.y, rect1.size.width, rect1.size.height);
        NSLog(@"rect2: %.0f, %.0f, %.0f, %.0f", rect2.origin.x, rect2.origin.y, rect2.size.width, rect2.size.height);
        NSLog(@"rect3: %.0f, %.0f, %.0f, %.0f", rect3.origin.x, rect3.origin.y, rect3.size.width, rect3.size.height);
        NSLog(@"rect4: %.0f, %.0f, %.0f, %.0f", rect4.origin.x, rect4.origin.y, rect4.size.width, rect4.size.height);
        NSLog(@"rect5: %.0f, %.0f, %.0f, %.0f", rect5.origin.x, rect5.origin.y, rect5.size.width, rect5.size.height);

2、NSRect 与 NSString 的相互转换

    // NSRect 转 NSString
    NSString *stringFronRect = NSStringFromRect(rect5);
        
    // NSString 转 NSRect
    NSRect rect6 = NSRectFromString(stringFronRect);
目录
相关文章
|
Swift iOS开发
iOS OC混编Swift 后者无法走断点
iOS OC混编Swift 后者无法走断点
98 0
|
安全 数据安全/隐私保护 iOS开发
iOS 初探代码混淆(OC)
自己做iOS开发也有几年的时间了,平时做完项目基本就直接打包上传到Appstore上,然后做上架操作了。但是最近,客户方面提出了代码安全的要求。说是要做代码混淆,这方面的工作之前从来没有接触过。然后就上网查了一下,原来有很多应用程序都做了代码混淆。看来是我固步自封了......
iOS 初探代码混淆(OC)
|
存储 Unix 编译器
|
存储 算法 iOS开发
|
Swift iOS开发 容器
iOS 仿支付宝银行卡界面(支持Swift/OC)
在有支付相关的APP中,都有对应的钱包,虽然现在的支付宝,微信支付很流行,但是都是需要绑定自己的银行卡,那么这个银行卡的卡包页面该怎么实现呢?在网上找了许久也没有找到合适的,那就索性自己造轮子。
397 0
|
编解码 Swift iOS开发
iOS 应用之间的跳转(OC&Swift)
iOS 应用之间的跳转(OC&Swift)
1134 0
iOS 应用之间的跳转(OC&Swift)
|
开发工具 Swift iOS开发
iOS 问题 1: OC项目导入swift三方库不兼容问题
iOS 问题 1: OC项目导入swift三方库不兼容问题
1160 0
iOS 问题 1: OC项目导入swift三方库不兼容问题
|
iOS开发
iOS逆向 04:OC反汇编(下)
iOS逆向 04:OC反汇编(下)
298 0
iOS逆向 04:OC反汇编(下)
|
编译器 iOS开发
iOS逆向 04:OC反汇编(上)
iOS逆向 04:OC反汇编(上)
196 0
iOS逆向 04:OC反汇编(上)
|
存储 缓存 编译器
iOS-底层原理 20:OC底层面试解析
iOS-底层原理 20:OC底层面试解析
478 0
iOS-底层原理 20:OC底层面试解析