IOS教程 實現(xiàn)一個CD架擺放Demo
IOS教程 實現(xiàn)一個CD架擺放Demo是本文要介紹的內(nèi)容,主要是實現(xiàn)了一個cd架上擺放cd的小程序,實現(xiàn)的效果是cd會在架子上從左往右依次排序放到cd架上。下圖是實現(xiàn)的最終效果:
下面詳細講述一下實現(xiàn)這個cd擺放程序的過程。
首先:實現(xiàn)cd架子,cd的架子就是一張黑色的背景圖。實現(xiàn)代碼是:
- //設(shè)置背景顏色
- UIImageView *backgroundView=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cdshelf_background.jpg"]];
- [self addSubview:backgroundView];
- [backgroundView release];
其次:是實現(xiàn)一個cd的效果。
每一個cd是一張圖,然后再圖上加上一層顏色的視圖,其中顏色是隨機獲取的。這樣就實現(xiàn)了一個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 旋轉(zhuǎn)
- 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;
- }
***,就是實現(xiàn)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/
小結(jié):IOS教程 實現(xiàn)一個CD架擺放Demo的內(nèi)容介紹完了,希望本文對你有所幫助。
本文來自:http://wangjun.easymorse.com/?p=1298