iCarousel没有正确设置标签

时间:2014-02-21 09:17:44

标签: ios icarousel

在我的代码中我试图在iCarouselView中设置标签。我的icarousel包含标签和textView所以我试图设置标签,但它没有正确设置。我有几个月的数组并设置每个icarousel标签的数月数组,像这样。

     (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
    {
       if (!view)
   {
         UIViewController * viewController = [self.storyboard  instantiateViewControllerWithIdentifier:@"PopUpView"];
    view = [viewController.view viewWithTag:999];
     UILabel *label=(UILabel*)[viewController.view viewWithTag:109];
   label.text = [_monthsArray objectAtIndex:index];
   CGRect  Frame = CGRectMake(view.frame.origin.x, view.frame.origin.y+100, view.frame.size.width, view.frame.size.height);
    view.frame = Frame;
}
return view;}

我在storyBoard中将外部视图作为popUpView加载并使用标记获取标签。 我将轮播计数作为[monthsArray计数]返回。 还设置了carousel委托和数据源,并且在iCarousel上也调用了reloadData方法。

我得到的输出是这样的。

|一月,二月,三月,十一月,十二月|

请告诉我我哪里错了?现在该怎么办?

1 个答案:

答案 0 :(得分:0)

将您的代码更新为以下 -

- (UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view
{
    if (!view){
        UIViewController * viewController = [self.storyboard  instantiateViewControllerWithIdentifier:@"PopUpView"];
        view = [viewController.view viewWithTag:999];
        CGRect  Frame = CGRectMake(view.frame.origin.x, view.frame.origin.y+100, view.frame.size.width, view.frame.size.height);
        view.frame = Frame;
    }

    UILabel *label=(UILabel*)[view viewWithTag:109];
    label.text = [_monthsArray objectAtIndex:index];

    return view;
}

iCaurosel将采用UIView,在您的情况下,您正在创建一个视图控制器,它不会被保留并且很危险。看看你是否通过自定义Xib将其更改为查看。