我使用iCarousel (linky:https://github.com/nicklockwood/iCarousel)已经有一段时间了,有一件事我就是想不通。
它正在将2个或更多的nibs加载到一个转盘中。这是为carousel中的所有项目加载相同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,这样说对吗?
或者,我是否必须在开始时加载一个nib文件数组,然后在上面的方法中引用它们?
或者有一种完全不同的方式来做这件事?
发布于 2012-06-29 21:12:39
这个问题非常简单,我已经把它复杂化了。
下面是我添加到上面的示例中以修复它的代码:
- (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;
}https://stackoverflow.com/questions/11261778
复制相似问题