2012-02-21 39 views
8

Tôi đã đặt hình ảnh trong iCarousel. Khi tôi cuộn băng chuyền, nó hiển thị hình ảnh ở phía trước và sau. Tôi không muốn hiển thị hình ảnh ở phía sau. Hãy giúp tôi. Cảm ơn bạn.Ẩn hình ảnh trong chế độ xem iCarouselTypeRotary cho iCarousel

+0

có u sử dụng mẫu mã của iCarousael sau đó nó cũng cung cấp loại switch khác nhau từ đó u có thể thay đổi kiểu đó sẽ không thấy hình ảnh ở chế độ nền –

+0

xin giải thích kỹ hơn .. – DJPlayer

Trả lời

4

Bạn sẽ cần thay đổi thành loại băng chuyền tùy chỉnh và sao chép việc triển khai iCarouselTypeRotary trong ủy quyền của bạn. Sau đó, triển khai -carousel:itemAlphaForOffset: để các mục xung quanh mặt sau có alpha bằng 0.

+0

Cảm ơn. Vấn đề của tôi được giải quyết. –

+0

Tuyệt vời để nghe. Nếu câu trả lời của tôi có hiệu quả, bạn có thể nhấp vào dấu tick để đánh dấu câu trả lời đúng không? – Simon

+1

bạn có thể vui lòng cung cấp thêm mô tả về @Simon –

3

Trong phiên bản mới nhất của iCarousel, cách dễ nhất để làm điều này là để thiết lập view.layer.doubleSided = NO trên quan điểm mục băng chuyền của bạn, hoặc sử dụng tài sản iCarouselOptionShowBackfaces, như thế này:

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

Tôi đã thử điều này nhưng các chế độ xem vẫn hiển thị. Nếu tôi hiểu câu hỏi một cách chính xác, OP (và bản thân tôi) đang cố giấu các khung nhìn phía sau khung nhìn phía trước. – daveMac

+0

Thử đặt iCarouselOptionShowBackfaces thành NO. –

+1

iCarouselOptionShowBackfaces - không hoạt động – yasha02

0

Tôi đã thử giải pháp được đề xuất bởi @NickLockwood nhưng dường như không hoạt động :-(Tôi đã thêm nó vào cả hai phương thức trong viewForItemAtIndex & placeholderViewAtIndex. Kích thước hình ảnh của tôi là 115 * 115 pixel và kích thước canvas là 146 * 146 pixel. giá trị trả về của 'giá trị trả về * 0.82f;' dưới iCarouselOptionSpacing (bên trong phương thức valueForOption) đã thực hiện thủ thuật cho tôi.

+0

Có vẻ như bạn đang cố gắng giải quyết một vấn đề khác với vấn đề được hỏi trong câu hỏi. Tôi không thấy cách thay đổi khoảng cách có thể ảnh hưởng đến việc liệu các mặt đối mặt quay lại có hiển thị hay không –

7

Bạn nên triển khai người được ủy quyền:

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

Mã bên dưới sẽ làm mờ đi các mục đang quay trở lại. Thưởng thức.

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 
} 
Các vấn đề liên quan