IOS教程 实现一个CD架摆放Demo是本文要介绍的内容,主要是实现了一个cd架上摆放cd的小程序,实现的效果是cd会在架子上从左往右依次排序放到cd架上。下图是实现的最终效果:
下面详细讲述一下实现这个cd摆放程序的过程。
首先:实现cd架子,cd的架子就是一张黑色的背景图。实现代码是:
- //设置背景颜色
- UIImageView *backgroundView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cdshelf_background.jpg"]];
- [self addSubview:backgroundView];
- [backgroundView release];
其次:是实现一个cd的效果。
每一个cd是一张图,然后再图上加上一层颜色的视图,其中颜色是随机获取的。这样就实现了一个CD的的效果图。
- UIImageView *endcdimageView=[[UIImageView alloc] initWithFrame:CGRectMake((50+9*[number intValue]), 55, 8, 101)];
- [endcdimageView setImage:[UIImage imageNamed:@"Lt--4line_07.png"]];
- //添加颜色
- UIView *colorView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 8, 101)];
- [colorView setBackgroundColor:[self getRandomColor]];
- [colorView setAlpha:0.2];
- [endcdimageView addSubview:colorView];
- [colorView release];
- //***一个cd 旋转
- CGAffineTransform rotation = CGAffineTransformMakeRotation(-M_PI_2/4);
- [endcdimageView setTransform:rotation];
- [self addSubview:endcdimageView];
- [endcdimageView release];
随机获取颜色值:
- -(UIColor *)getRandomColor
- {
- UIColor *color=[UIColor clearColor];
- switch ((arc4random()%10)) {
- case 0:
- color=[UIColor yellowColor];
- break;
- case 1:
- color=[UIColor redColor];
- break;
- case 2:
- color=[UIColor orangeColor];
- break;
- case 3:
- color=[UIColor cyanColor];
- break;
- case 4:
- color=[UIColor magentaColor];
- break;
- case 5:
- color=[UIColor grayColor];
- break;
- case 6:
- color=[UIColor groupTableViewBackgroundColor];
- break;
- case 7:
- color=[UIColor purpleColor];
- break;
- default:
- break;
- }
- return color;
- }
***,就是实现cd的从左往右,一次添加了。
是利用线程,一次添加的cd。
- //添加 cd
- -(void)addCD:(NSNumber *) number
- {
- //先暂停一段时间
- [NSThread sleepForTimeInterval:arc4random()%3];
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- for (int i=0; i<[number intValue]; i++) {
- if (i==([number intValue]-1)) {
- //***一个
- [self performSelectorOnMainThread:@selector(addEndCDView:) withObject:[NSNumber numberWithInt:i] waitUntilDone:NO];
- }else{
- [self performSelectorOnMainThread:@selector(addCDView:) withObject:[NSNumber numberWithInt:i] waitUntilDone:NO];
- }
- [NSThread sleepForTimeInterval:0.09];
- }
- [pool release];
- }
下面是源代码:http://easymorse-iphone.googlecode.com/svn/trunk/CDshelf/
小结:IOS教程 实现一个CD架摆放Demo的内容介绍完了,希望本文对你有所帮助。
本文来自:http://wangjun.easymorse.com/?p=1298