您的位置:首页 > 移动开发 > Objective-C

foundation的使用——NSRange NSPoint NSSize NSRect

2015-12-14 09:12 549 查看
//

/*

 NSRange(location length)

 NSPoint\CGPoint

 NSSize\CGSize

 NSRect\CGRect (CGPint CGSize)

 */

  NSRange

    // @"i love oc"  // love的范围

    

    //NSRange r1 = {2, 4}; // 不用

    //NSRange r2 = {.location = 2, .length = 4};// 不用

    //NSRange r3 = NSMakeRange(2, 4); // 掌握

    NSString *str = @"i love oc";

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

    // 如果找不到,length=0,location=NSNotFound==-1

    NSRange range = [str rangeOfString:@"java"];

    NSLog(@"loc = %ld, length=%ld", range.location,
range.length);
 

 NSSize/CGSize

 NSPoint\CGPoint

    CGPoint p1 = NSMakePoint(10, 10);

    NSPoint p2 = CGPointMake(20, 20);// 最常用

    

    NSSize s1 = CGSizeMake(100, 50);

    NSSize s2 = NSMakeSize(100, 50);

    CGSize s3 = NSMakeSize(200, 60);

  

//CGRect myRect(CGFloat x, CGFloat y, CGFloat width, CGFloat height)

//{

//    CGRect rect;

//    rect.origin.x = x;

//    rect.origin.y = y;

//    rect.size.width = width;

//    rect.size.height = height;

//    

//    return rect;

// }

    CGRect r1 = CGRectMake(0, 0, 100, 50);

    

    CGRect r2 = { {0, 0}, {100, 90}};

    

    CGRect r3 = {p1, s2};

    

    // 使用CGPointZero等的前提是添加CoreGraphics框架

    CGRect r4 = {CGPointZero, CGSizeMake(100, 90)};

    

    

    // CGSizeZero

    // CGRectZero

    

    // 表示原点

    // CGPointZero == CGPointMake(0, 0)

    

    

    // 将结构体转为字符串

    //NSString *str = NSStringFromPoint(p1);

    

    //NSString *str = NSStringFromSize(s3);

    

    NSString *str = NSStringFromRect(r1);

    

    NSLog(@"%@", str);

    

    

    // NSLog(@"x=%f, y=%f, width=%f, height=%f", r1.origin.x, r1.origin.y, r1.size.width, r1.size.height);

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

    //
 

   
// 比较两个点是否相同(x、y)

    BOOL b =
CGPointEqualToPoint(CGPointMake(10,
10), CGPointMake(10,
10));

   
//CGRectEqualToRect(<#CGRect rect1#>, <#CGRect rect2#>)

   
//CGSizeEqualToSize(<#CGSize size1#>, <#CGSize size2#>)

    

    

   
// x (50, 150) y (40 , 90)

   
BOOL b2 = CGRectContainsPoint(CGRectMake(50,
40,
100, 50),
CGPointMake(60,
45));

    

    NSLog(@"%d", b2);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息