嗨,我在我的应用程序中包含了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;
}
最佳答案
我没有明白你的要求。检查用于实施I-carousal的代码以显示图像。
- (NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{
//add all your images to an array,and use that array for count.
return [items count];
}
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
//create new view if no view is available for recycling
if (view == nil)
{
view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 215.0f, 155.0f)];
((UIImageView *)view).image = [UIImage imageNamed:[self.items objectAtIndex:index ]];
view.contentMode = UIViewContentModeCenter;
}
return view;
}
- (CGFloat)carousel:(iCarousel *)carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value
{
//customize carousel display
return value+0.1;
}
关于iphone - iCarousel从NSMutableArray加载UIViews,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14954158/