OC结构体(NSRange/CGPoint/CGSize/CGRect)

来源:互联网 发布:linux文件管理web 编辑:程序博客网 时间:2024/05/02 04:42

// 字符串

        NSString *str = @"i love you";

        // NSRange的用法

        // NSRange r1 = NSMakeRange(2, 4);

        

        // 结构体类型不能用*

        // 查找某个字符串在str中的范围

        NSRange rang = [str rangeOfString:@"jack"];

        // 结构体类型访问结构体内部变量:结构体名.结构体内变量名(rang.location,rang.length,如果找不到返回NSNoFand == -1

        NSLog(@"location=%ld, lenth=%ld", rang.location, rang.length);

        

        // CGPoint -> 坐标(x,y

        // CGSize  -> 宽度、长度(width,length

        // CGRect  -> CGPointCGSize的结合(x, y, width, length

        // 使用这些CGPointEqualToPointCGRectContainsPoint等函数的前提是添加CoreGraphics框架

        

        // CGPoint设置x,y坐标值,成为一个点

        /*

         系统CGPint结构体

         struct CGPoint {

         CGFloat x;

         CGFloat y;

         };

         typedef struct CGPoint CGPoint;

         */

        CGPoint p1 = CGPointMake(1020);

        CGPoint p = NSMakePoint(1020);

        

        // 将结构体转成字符串

        NSString *str = NSStringFromPoint(p1);

        

        // 原点

        CGPointZero

        

        // CGSize设置宽长, 成为一个按钮模块

        /*

         // 系统CGSize结构体

         struct CGSize {

         CGFloat width;

         CGFloat height;

         };

         typedef struct CGSize CGSize;

         */

        CGSize s1 = CGSizeMake(3456);

        

        // CGRect设置x,y,宽、长,定位一个按钮模块的位置

        /*

         系统CGRect结构体

         struct CGRect {

         CGPoint origin;    // -> CGPoint

         CGSize size;       // -> CGSize

         };

         typedef struct CGRect CGRect;

         */

        CGRect r1 = CGRectMake(12233445);

        

        // 比较一个触摸点是否在某个按钮范围内

        BOOL p2 = CGRectContainsPoint(CGRectMake(504010050), CGPointMake(6045));

        

        // 比较两个点是否是同一点

        BOOL p3 = CGPointEqualToPoint(CGPointMake(1223), CGPointMake(1223));

        

        // 比较两个按钮模块是否一样大

        BOOL s2 = CGSizeEqualToSize(CGSizeMake(1234), CGSizeMake(1235));

        

        // 比较2个按钮是否重叠

        BOOL r2 = CGRectEqualToRect(CGRectMake(12231234), CGRectMake(12345623));

0 0