问题描述
- iCarousel加载UIView的问题
-
在应用中用到iCarousel来显示视图列表,但是遇到两个问题:1.如果设置可见列表的数目为3,索引视图就会显示为3的倍数。
2.如果不设置,那么第一个和最后一个索引视图就会显示。
现在这个重用视图已经把我搞迷糊了。
代码:
-(void)viewWillAppear:(BOOL)animated { ViewArray=[[NSMutableArray alloc]init]; for (int i=0; i<26; i++) { [ViewArray addObject:views]; [carousel1 reloadData]; } NSLog(@"%@",ViewArray); } - (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel { //return the total number of items in the carousel return 26; } - (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view { UIView *sub=nil; if (view==nil) { view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 900, 387)]; capitalBG.frame=CGRectMake(28, 29, 221, 329); capitalBG.tag=11; [view addSubview:capitalBG]; capitalImage.frame=CGRectMake(28, 29, 221, 329); [view addSubview:capitalImage]; capitalImage.tag=12; smallBG.frame=CGRectMake(678, 111, 198, 166); [view addSubview:smallBG]; smallBG.tag=21; smallImage.frame=CGRectMake(678, 111, 198, 166); [view addSubview:smallImage]; smallImage.tag=22; } else { } capitalBG.frame=CGRectMake(28, 29, 221, 329); [capitalBG setImage:[UIImage imageNamed:@""]]; [view addSubview:capitalBG]; capitalImage.frame=CGRectMake(28, 29, 221, 329); [capitalImage setImage:[[[Global ImageCollection]objectForKey:@"CapitalWrite"]objectAtIndex:index]]; [view addSubview:capitalImage]; smallBG.frame=CGRectMake(678, 111, 198, 166); [smallBG setImage:[UIImage imageNamed:@""]]; [view addSubview:smallBG]; smallImage.frame=CGRectMake(678, 111, 198, 166); [smallImage setImage:[[[Global ImageCollection]objectForKey:@"SmallWrite"]objectAtIndex:index]]; [view addSubview:smallImage]; return view; } - (CGFloat)carousel:(iCarousel *)carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value { if (option == iCarouselOptionSpacing) { return value * 1.1f; } if (option==iCarouselOptionVisibleItems) { return 3; } return value; }
时间: 2024-08-09 23:22:31