iCarousel 未正确设置标签
Posted
技术标签:
【中文标题】iCarousel 未正确设置标签【英文标题】:iCarousel not setting label in it properly 【发布时间】: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 代表将观看。 【参考方案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 进行查看。
【讨论】:
以上是关于iCarousel 未正确设置标签的主要内容,如果未能解决你的问题,请参考以下文章
IOS如何让iCarousel像UIScrollView页面一样滚动
在 Swift 的 iCarousel 中预览 UIWebView