zoukankan      html  css  js  c++  java
  • 怎样实现UIView的旋转

    首先创建界面,在viewDidLoad创建view以及button

    相关代码如下

    -(void)viewDidLoad

    {

        [super viewDidLoad];

        viewDemo = [[UIView alloc] initWithFrame:CGRectMake(0, 50, 320, 50)];

        [viewDemo setBackgroundColor:[UIColor brownColor]];

        UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 50)];

        label.text =@"Test";

        label.tag=100;

        [viewDemo addSubview:label];

        [self.view addSubview:viewDemo];

        [label release];

        // Do any additional setup after loading the view, typically from a nib.

        UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 400, 100, 50)];

        [btn setBackgroundColor:[UIColor blueColor]];

        btn.showsTouchWhenHighlighted = YES;

        [btn setTitle:@"点击旋转" forState:UIControlStateNormal];

        [self.view addSubview:btn];

        btn.tag = 10010;

        [btn addTarget:self action:@selector(testViewDemo) forControlEvents:UIControlEventTouchUpInside];

        [btn release];

        number = 0;

    }

    -(void)testViewDemo

    {

        number++;

        if (number%3 == 0) {

            CGAffineTransform at = CGAffineTransformMakeRotation(M_PI/2);

            at = CGAffineTransformTranslate(at, 200, 0);

            [viewDemo setTransform:at];

        }else if (number%3 ==1 ){

            CGAffineTransform at = CGAffineTransformMakeRotation(M_PI/1);

            at = CGAffineTransformTranslate(at, 0, 0);

            [viewDemo setTransform:at];

        }else if(number%3 ==2){

            CGAffineTransform at = CGAffineTransformMakeRotation(M_PI*2);

            at = CGAffineTransformTranslate(at, 0, 0);

            [viewDemo setTransform:at];

        }

    }

    -(void)testViewDemo

    {

        //旋转,左旋

        number++;

        CGAffineTransform rotate = CGAffineTransformMakeRotation(number / 180.0 * M_PI );

        [viewDemo setTransform:rotate];

    }

    如果使用此方法连续点击button就可以显示处一点一点的移动效果

    每次旋转90度的话可以使用一下的代码实现效果

    -(void)testViewDemo

    {

    //旋转,右旋

        number = number+90.0;

        CGAffineTransform rotate = CGAffineTransformMakeRotation(number / 180.0 * M_PI );

        [viewDemo setTransform:rotate];

    UIView实现左旋效果

    //旋转,左旋

        number = number-90.0;

        CGAffineTransform rotate = CGAffineTransformMakeRotation(number / 180.0 * M_PI );

        [viewDemo setTransform:rotate];

    通过以上的讲解,我想,关于点击UIButton实现UIView的旋转大家就可以轻松的操作了。

    传送门:

    http://jingyan.baidu.com/article/3aed632e7164b070108091de.html

  • 相关阅读:
    python高级编程
    django笔记
    sublime ide
    python3 django mysql
    python win
    linux时区设置
    在实际应用中如何实现切圆角的功能
    display和visiblity在应用中使用哪个好
    看懂UML类图和时序图
    解决Xcode7.2真机调试出现:The account “” has no team with ID “”
  • 原文地址:https://www.cnblogs.com/wcLT/p/5090791.html
Copyright © 2011-2022 走看看