In the cocoa (cocoa touch) framework, CGRect structure are used in many places because its rendering system depends on Core Graphics library. Here are the useful functions for CGRect structure.
Function | Description |
---|---|
CGRectMake() | Creates CGRect structure from integer values
// creates CGRect with x=0, y=0, width=100, height=100
CGRect rect = CGRectMake(0, 0, 100, 100);
|
CGRectFromString() | Creates CGRect structure from string
// creates CGRect with x=10, y=20, width=100, height=200
CGRect rect = CGRectFromString(@"{{10, 20}, {100, 200}}");
|
NSStringFromCGRect() | Creates NSString object for specified CGRect structure. It is same format as the argument for CGRectFromString().
CGRect rect = CGRectMake(0, 0, 100, 100);
// outputs {{0, 0}, {100, 100}}
NSLog(@"%@", NSStringFromCGRect(rect));
|
CGRectEqualToRect() | Checks whether given two CGRect are equal in both size and position.
CGRect rect1 = CGRectMake(0, 0, 100, 100);
CGRect rect2 = CGRectMake(10, 20, 100, 100);
// returns false
CGRectEqualToRect(rect1, rect2);
|
CGRectIntersection() | Returns the intersection of two rectangles. Note that if two rectangles do not intersect, it returns the null rectangle.
CGRect rect1 = CGRectMake(0, 0, 100, 100);
CGRect rect2 = CGRectMake(10, 20, 100, 100);
CGRect intersect = CGRectIntersection(rect1, rect2);
// returns {{10, 20},{90, 80}}
NSLog(@"%@", NSStringFromCGRect(intersect));
|
CGRectIsNull() | Checks null
CGRect rect1 = CGRectMake(0, 0, 100, 100);
CGRect rect2 = CGRectMake(200, 200, 100, 100);
CGRect intersect = CGRectIntersection(rect1, rect2);
// returns YES (1)
NSLog(@"%d", CGRectIsNull(intersect));
|
There are more functions for this purpose. Check Appleās website for the detail.
No comments yet.