こんにちは、ビューのリストを表示するためにアプリに iCarousel を含めました。私は今問題に直面しています。
- 表示項目数を 3 に設定すると、3 の倍数のインデックス ビューが表示されます
- 設定していない場合は、icarousel ビューの最初と最後のインデックスが表示されます。
iCarousel でビューを再利用するという概念について、私はとても混乱しています。
これが私のコードです
-(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;
}