首页 > 代码库 > 关于iOS7中UIView效果失效问题的解决
关于iOS7中UIView效果失效问题的解决
近期想做一个跑马灯的效果,于是写出了如下的跑马灯效果的代码。。。但是调试发现,在iOS6下动画是可以执行的,但是在iOS7下动画并不执行,没有达到预期的效果。
[_scrollLabel sizeToFit]; CGRect frame = _scrollLabel.frame; frame.origin.x = 320; _scrollLabel.frame = frame; [UIView setAnimationsEnabled:YES]; [UIView beginAnimations:@"testAnimation" context:NULL]; [UIView setAnimationDuration:10.f]; [UIView setAnimationCurve:UIViewAnimationCurveLinear]; [UIView setAnimationDelegate:self]; [UIView setAnimationRepeatAutoreverses:NO]; [UIView setAnimationRepeatCount:999999]; frame = _scrollLabel.frame; frame.origin.x = -frame.size.width; NSLog(@"frame orgin:%f",frame.origin.x); _scrollLabel.frame = frame; [UIView commitAnimations];然后在网上查了各种资料,都没有解决。。。最终发现,我的这个视图控制器是present模态化视图,在iOS7下模态化出来的视图UIView就出现问题了。。。果断把present换成了push。。。但是push又达不到prensent的效果,于是又模仿present,在push视图中实现present动画。代码如下:
一、push
MCLotteryListViewController *list = [[MCLotteryListViewController alloc]init]; //list.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; // [self presentViewController:list animated:YES completion:^{ // // }]; [UIView beginAnimations:nil context:NULL]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimationDuration:0.75]; [self.navigationController pushViewController:list animated:NO]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO]; [UIView commitAnimations];二、pop
[UIView beginAnimations:nil context:NULL]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; [UIView setAnimationDuration:0.75]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO]; [UIView commitAnimations]; [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDelay:0.375]; [self.navigationController popViewControllerAnimated:NO]; [UIView commitAnimations];转载请注明,错误请指正!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。