2012-02-21 102 views

回答

4

您需要更改为自定义传送带类型,并将iCarouselTypeRotary的实现复制到您的代理中。然后执行-carousel:itemAlphaForOffset:,以便后面的项目具有零的字母。

+0

由于类型不同的开关类型。我的问题解决了。 – 2012-02-22 13:36:44

+0

很好听。如果我的答案有帮助,请您可以点击勾号将此标记为正确答案? – Simon 2012-02-22 13:44:10

+1

可以请给这个更多描述@Simon – 2015-09-15 08:47:00

3

在iCarousel的最新版本,要做到这一点最简单的方法是设置view.layer.doubleSided = NO你的旋转木马项目的意见,或使用iCarouselOptionShowBackfaces属性,像这样:

- (CGFloat)carousel:(iCarousel *)_carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value 
{ 
    switch (option) 
    { 
     case iCarouselOptionShowBackfaces: 
     { 
      return NO; 
     } 
     default: 
     { 
      return value; 
     } 
    } 
} 
+2

我试过这个,但是视图仍然可见。如果我正确理解这个问题,OP(和我)会试图隐藏正面视图背后的视图。 – daveMac 2014-04-24 13:41:37

+0

尝试将iCarouselOptionShowBackfaces设置为NO。 – 2014-04-24 14:50:33

+1

iCarouselOptionShowBackfaces - 不起作用 – yasha02 2015-12-11 13:46:15

0

我尝试了@NickLockwood提出的解决方案,但似乎没有工作:-(我将它添加到viewForItemAtIndex中的两个方法& placeholderViewAtIndex。我的图像大小为115 * 115像素,画布大小为146 * 146像素。返回值'返回值* 0.82f;'在iCarouselOptionSpacing(在方法valueForOption内)为我做了诡计。

+0

听起来好像你正试图解决与问题中提出的问题不同的问题。我没有看到如何改变间距可能会影响后向物品是否可见o_O – 2014-02-27 11:42:48

7

你应该实现委托:下面

- (CGFloat)carousel:(iCarousel *)_carousel valueForOption:(iCarouselOption)option withDefault:(CGFloat)value{ 
switch (option) 
{ 
    case iCarouselOptionVisibleItems: 
    { 
     return numberOfItemsIntheFront; 
    } 
} 
} 
1

代码将很好地消逝说要回物品。请享用。

func carousel(carousel: iCarousel, valueForOption option: iCarouselOption, withDefault value: CGFloat) -> CGFloat 
{ 
    if (option == .Spacing) 
    { 
     return value * 1.1 
    } 
    else if (option == .FadeMin) 
    { 
     return 0; 
    } 
    else if (option == .FadeMax) 
    { 
     return 0; 
    } 
    else if (option == .FadeRange) 
    { 
     return 3; 
    } 

    return value 
}