iCarousel 与 iOS 6.1 中具有标签栏控制器的应用程序集成

Posted

技术标签:

【中文标题】iCarousel 与 iOS 6.1 中具有标签栏控制器的应用程序集成【英文标题】:iCarousel integration to app having Tab bar controller in iOS 6.1 【发布时间】:2013-04-09 07:14:35 【问题描述】:

我将 iCarousel 应用程序与单视图应用程序集成在一起。但是当我添加标签栏控制器并将此 iCarousel 代码放在一个标签栏项目视图控制器中时。但它不起作用(显示项目但不滚动)。什么是这里有问题。

我创建的 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];

我正在使用以下委托和数据源方法:

-(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;

请给我建议。

谢谢你

【问题讨论】:

“项目显示但不滚动”是什么意思? items 表示图像或自定义视图 请为 iCarousel 实现发布您的数据源和委托方法。 【参考方案1】:

我注意到您的轮播视图比其中的项目大小要小得多(它只有 125 点高)。

iCarousel 可以在其边界之外绘制,但它无法检测到其边界之外的触摸事件,因此这可能是您在滚动时遇到问题的原因。

调试它的一个好方法是设置 carousel.clipsToBounds = YES,这样它绘制的内容将匹配可触摸的内容。另一种选择是设置 carousel.backgroundColor 以便您可以在屏幕上看到它的哪一部分是可触摸的。

要检查的另一件事是,您在其中放置轮播的视图已将 userInteractionEnabled 设置为 YES。

【讨论】:

谢谢尼克。那是我犯的错误。

以上是关于iCarousel 与 iOS 6.1 中具有标签栏控制器的应用程序集成的主要内容,如果未能解决你的问题,请参考以下文章

在 iCarousel 图像下放置标签 ios

如何在icarousel ios中找到特定索引?

UIScrollView 中的 ICarousel

iCarousel 未正确设置标签

阻止 iCarousel 标签滚动

具有 6.1 部署目标的 iOS 应用程序 [重复]