---------------------- Java培训、Android培训、iOS培训、.Net培训,期待与您交流! ---------------------
一、CoreGraphics框架中的结构体
先引入CoreGraphics框架(CG开头的框架,NS是NextStep的Foundation框架)
1. NSRange
NSRange ==》 (NSUInteger location, NSUInteger length)
初始化:NSRange r = NSMakeRange(2, 4);
// NSString(NSRange):
NSString *str = @"i love oc.";
// 查找某个字符串在str中的范围
// 如果找不到,length=0,location=NSNotFound=-1
NSRange range = [str rangeOfString:@"java"];
NSLog(@"loc=%ld, len=%ld", range.location, range.length);
2. NSPoint/CGPoint
NSPoint/CGPoint ==》 (CGFloat x, CGFloat y)
初始化: // 表示原点:CGPointZero == CGPointMake(0, 0)
CGPoint p1 = NSMakePoint(5, 4);
CGPoint p2 = CGPointMake(10, 10); // 最常用
// 以字符串形式快速打印CGPoint CGSize CGRect中的内容:
NSString *str = NSStringFromPoint(p1);
// NSString *str = NSStringFromSize(s1);
// NSString *str = NSStringFromRect(r1);
NSLog(@"%@", str);
3. NSSize/CGSize
NSSize/CGSize ==》 (CGFloat width, CGFloat height)
初始化: // CGSizeZero == CGSizeMake(0,0)CGSize s1 = NSMakeSize(25, 26);
CGSize s2 = CGSizeMake(10, 15); // 推荐
// 以字符串形式快速打印CGPoint CGSize CGRect中的内容:
// NSString *str = NSStringFromPoint(p1);
NSString *str = NSStringFromSize(s1);
// NSString *str = NSStringFromRect(r1);
NSLog(@"%@", str);
4. NSRect/CGRect
NSRect/CGRect ==》 (CGPoint, CGSize) == ( (CGFloat x, CGFloat y), (CGFloat width, CGFloat height))
初始化:// CGRectZero == CGRectMake(0,0,0,0)CGRect r1 = NSMakeRect(0, 0, 100, 50);
CGRect r2 = CGRectMake(0, 0, 100, 50);
CGRect r3 = { {0, 0}, {100, 50}};