对于图片控件的自动旋转在网络上有如下资料:
[UIView beginAnimations:nil context:NULL];[UIView setAnimationDuration:0.3];[UIView setAnimationDelay:0];UIView *v = [self.window viewWithTag:1];// 你想实现到的最终状态[UIView commitAnimations];
从:
beginAnimations
到:
commitAnimations
就是完成一次完整的动画。动画,首先你要考虑持续时间,其次你要考虑起始时间。也就是 t0 和 Δt 的关系。也就是他俩:
setAnimationDurationsetAnimationDelay
两个方法的参数的量纲都是秒。
完整代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, 100, 100)]; imageView1.image = [UIImage imageNamed:@"gyy.jpg"]; imageView1.backgroundColor = [UIColor yellowColor]; imageView1.contentMode = UIViewContentModeScaleToFill; // 充满 [self.window addSubview:imageView1]; imageView1.tag = 1; UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(10, 300, 200, 80)]; btn.backgroundColor = [UIColor blueColor]; [btn addTarget:self action:@selector(animate) forControlEvents:UIControlEventTouchUpInside]; [self.window addSubview:btn]; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES;}- (void)animate{ NSLog(@"haha"); [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:0.3]; [UIView setAnimationDelay:0]; UIView *v = [self.window viewWithTag:1]; v.alpha = 0; [UIView commitAnimations];}
经尝试发现有些地方需要改进,而且图片是与整个界面旋转……研究中,改日放上改良代码……