iOS Dev(28)3つの基本的な2 D放射変換

1957 ワード

iOS Dev(28)3つの基本的な2 D放射変換
作者:CSDN大鋭哥住所:http://blog.csdn.net/prevention を選択します。
基礎
私たちが使うべきものは:
CGAffineTransform
のいくつかの関数(C形式の関数)があります。
スケールスケールスケールスケールの定義:
CGAffineTransform CGAffineTransformScale (
   CGAffineTransform t,
   CGFloat sx,
   CGFloat sy
);
ロートの定義を回転:
CGAffineTransform CGAffineTransformRotate (
   CGAffineTransform t,
   CGFloat angle
);
トランスポートの定義を平行移動:
CGAffineTransform CGAffineTransformTranslate (
   CGAffineTransform t,
   CGFloat tx,
   CGFloat ty
);

Empty Projectを創立して、直接またのaplicationの方法。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(60, 100, 200, 200)];
    view1.tag = 101;
    view1.backgroundColor = [UIColor redColor];
    [self.window addSubview:view1];

    UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
    view2.tag = 102;
    view2.backgroundColor = [UIColor yellowColor];
    [view1 addSubview:view2];

    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(110, 400, 100, 44)];
    btn.backgroundColor = [UIColor cyanColor];
    [btn addTarget:self action:@selector(onClick) forControlEvents:UIControlEventTouchUpInside];
    [self.window addSubview:btn];

    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}

- (void)onClick
{
    UIView *view2 = [[self.window viewWithTag:101] viewWithTag:102];
    view2.transform = CGAffineTransformScale(view2.transform, 0.8, 0.8);
    view2.transform = CGAffineTransformRotate(view2.transform, 0.2);
    view2.transform = CGAffineTransformTranslate(view2.transform, 50, 50);
}
を選択します。
転載は来たと明記してください。http://blog.csdn.net/prevention