我将iCarousel应用程序与单视图应用程序集成。但是当我添加标签栏控制器并将此iCarousel代码放在一个标签栏中时,项目viewcontroller.But它不起作用(项目显示但不滚动)。是什么问题在这里。
我创建了iCarousel如下:
iCarousel *categorySubView = [[iCarousel alloc]initWithFrame:CGRectMake(0,200, 300, 125)];
categorySubView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
categorySubView.delegate = self;
categorySubView.dataSource = self;
categorySubView.type=iCarouselTypeRotary;
[self.view addSubview:categorySubView];
我使用以下的delegae和数据源方法:
-(NSUInteger)numberOfItemsInCarousel:(iCarousel *)carousel
{
return 5;
}
- (UIView *) carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view{
UIView *sampleView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 250, 300)];
sampleView.backgroundColor=[UIColor whiteColor];
UILabel *labelis=[[UILabel alloc]initWithFrame:CGRectMake(10, 10, 100, 20)];
labelis.backgroundColor=[UIColor clearColor];
labelis.text=@"8Apr-14Apr";
[sampleView addsubView:labelis];
return sampleView;
}
请建议我。
非常感谢
答案 0 :(得分:2)
我注意到你的旋转木马视图比它里面的物品尺寸小得多(它只有125点高)。
iCarousel可以在其边界之外绘制,但它无法检测其边界之外的触摸事件,因此这可能是您在滚动时遇到问题的原因。
调试此方法的一个好方法是设置carousel.clipsToBounds = YES,这样绘制的内容将匹配可触摸的内容。另一种选择是设置carousel.backgroundColor,这样你就可以在屏幕上看到它的哪些部分是可触摸的。
要检查的另一件事是您放置轮播的视图将userInteractionEnabled设置为YES。