ios 怎么监控uiview 有没有旋转

 我来答
晏欣钢
2016-10-26 · 超过34用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:50.8万
展开全部

首先创建界面,在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];


本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式