【问题标题】:iCarousel not setting label in it properlyiCarousel 未正确设置标签
【发布时间】:2014-02-21 09:17:43
【问题描述】:

在我的代码中,我试图在 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 计数]。 轮播委托和数据源也被设置,并且在 iCarousel 上也调用了 reloadData 方法。

我得到的输出是这样的。

|一月、二月、三月、十一月、十二月|

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

【问题讨论】:

  • iCaurosel 代表将观看。

标签: ios icarousel


【解决方案1】:

将您的代码更新为以下代码 -

- (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 进行查看。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-17
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    • 2013-05-22
    • 2014-07-27
    相关资源
    最近更新 更多