代码改变世界
2012-09-28 23:20
三戒1993
阅读(254)
评论()
收藏
举报
-
@interface NSValue (NSValueUIGeometryExtensions)
-
-
+ (NSValue *)valueWithPointer:(const void *)pointer;
-
-
+ (NSValue *)valueWithCGPoint:(CGPoint)point;
-
+ (NSValue *)valueWithCGSize:(CGSize)size;
-
+ (NSValue *)valueWithCGRect:(CGRect)rect;
-
+ (NSValue *)valueWithCGAffineTransform:(CGAffineTransform)transform;
-
+ (NSValue *)valueWithUIEdgeInsets:(UIEdgeInsets)insets;
-
-
- (void *)pointerValue;
-
- (CGPoint)CGPointValue;
-
- (CGSize)CGSizeValue;
-
- (CGRect)CGRectValue;
-
- (CGAffineTransform)CGAffineTransformValue;
-
- (UIEdgeInsets)UIEdgeInsetsValue;
-
-
@end
-
-
-
-
-
-
-
-
-
-
#import "NSArrayAndSelectorViewController.h"
-
-
@implementation NSArrayAndSelectorViewController
-
@synthesize SelectorArray, RectArray, TransformArray;
-
-
-
-
- (void)viewDidLoad {
-
[super viewDidLoad];
-
-
-
NSValue* start = [NSValue valueWithPointer:@selector(start:)];
-
NSValue* help = [NSValue valueWithPointer:@selector(help:)];
-
-
-
NSArray *Array = [[NSArray alloc] initWithObjects:start, help, nil];
-
self.SelectorArray = Array;
-
[Array release];
-
-
-
CGRect rect1 = {10, 10, 200, 200};
-
CGRect rect2 = {20, 20, 100, 100};
-
-
-
NSValue *aRect1 = [NSValue valueWithCGRect:rect1];
-
NSValue *aRect2 = [NSValue valueWithCGRect:rect2];
-
-
NSArray *reArray = [[NSArray alloc] initWithObjects:aRect1, aRect2, nil];
-
self.RectArray = reArray;
-
[reArray release];
-
-
-
CGAffineTransform transform1 = CGAffineTransformMakeRotation(40);
-
CGAffineTransform transform2 = CGAffineTransformMakeRotation(-40);
-
NSValue *aTransform1 = [NSValue valueWithCGAffineTransform:transform1];
-
NSValue *aTransform2 = [NSValue valueWithCGAffineTransform:transform2];
-
NSArray *TransArray = [[NSArray alloc] initWithObjects:aTransform1, aTransform2, nil];
-
self.TransformArray = TransArray;
-
[TransArray release];
-
[testView setFrame:[[RectArray objectAtIndex:0] CGRectValue]];
-
[testView setTransform:[[TransformArray objectAtIndex:0] CGAffineTransformValue]];
-
[self performSelector:[[SelectorArray objectAtIndex:0] pointerValue] withObject:nil afterDelay:0.5];
-
}
-
-
-(void)start:(id)sender{
-
NSLog(@"start");
-
[testView setFrame:[[RectArray objectAtIndex:1] CGRectValue]];
-
[testView setTransform:[[TransformArray objectAtIndex:1] CGAffineTransformValue]];
-
[self performSelector:[[SelectorArray objectAtIndex:1] pointerValue] withObject:nil afterDelay:0.5];
-
}
-
-
-(void)help:(id)sender{
-
NSLog(@"help");
-
-
-
}
-