1,NSDivideRect(NSRect inRect, NSRect *slice, NSRect *rem, CGFloat amount, NSRectEdge edge); 的意思是把按amount把inRect分成两块。直接看代码结果
NSRect aRect = [sender frame];
NSRect popUpRect, textRect;
NSDivideRect(aRect, &popUpRect, &textRect, 30, NSMinXEdge);
NSString *popUpRectString = NSStringFromRect(popUpRect);
NSString *textRectString = NSStringFromRect(textRect);
NSString *aRectString = NSStringFromRect(aRect);
NSLog(@"popUpRectString -> %@", popUpRectString);popUpRectString -> {{207, 25}, {30, 32}}
NSLog(@"textRectString -> %@", textRectString);textRectString -> {{237, 25}, {52, 32}}
NSLog(@"aRectString -> %@", aRectString); aRectString -> {{207, 25}, {82, 32}}
2,NSRect NSInsetRect(NSRect aRect, CGFloat dX, CGFloat dY);
aRect = [sender frame];
NSRect bRect = NSInsetRect(aRect, 10, 10);
NSString *bRectString = NSStringFromRect(bRect);
NSLog(@"bRectString -> %@", bRectString);bRectString -> {{217, 35}, {62, 12}}