我已经和iCarousel(linky:https://github.com/nicklockwood/iCarousel)搞乱了一段时间了,现在还有一件事我无法理解。
它将2个或更多个笔尖装入一个转盘。这是为轮播中的所有项加载相同nib的当前代码:
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
if (!view)
{
//load new item view instance from nib
//control events are bound to view controller in nib file
view = [[[NSBundle mainBundle] loadNibNamed:@"ItemView" owner:self options:nil] lastObject];
}
return view;
}
它是iCarousel中ControlsDemo的标准代码。
我是否正确地说,可以将一个简单的If语句应用于上面的代码,以便为每个项目使用不同的笔尖填充轮播?
或者我是否必须在开始时加载一组nib文件并在上面的方法中引用它们?
或者有一种完全不同的方法吗?
答案 0 :(得分:0)
这个问题非常简单,我过得非常复杂。
以下是我添加到上述示例中以修复它的代码:
- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
if (index == 0) {
view = [[[NSBundle mainBundle] loadNibNamed:@"nib1" owner:self options:nil] lastObject];
} else {
view = [[[NSBundle mainBundle] loadNibNamed:@"nib2" owner:self options:nil] lastObject];
}
return view;
}