2012-02-21 14 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 
}