29 ratings
  • 1
  • 2
  • 3
  • 4
  • 5
5 star 18
4 star 3
3 star 4
2 star 4
1 star 0
Compatible with
  • iOS

Alliance Carousel 3.0

Alliance Global Services

“iCarousel port without binding”

Alliance Carousel

Simply Add Carousel View as Subview of the Main View of View Controller

Create the object of carousel View, add the appropriate data source and delegate and mention the carousel type. Add the carousel as subview of appropriate view (In this case Main View of the View Controller).

Code

public class LinearViewController : UIViewController
{
    public List<int> items;
    CarouselView carousel;

     public LinearViewController() : base()
     {
     }

     public override void ViewDidLoad()
     {
        base.ViewDidLoad();

        var imgView = new UIImageView(UIImage.FromBundle("background"))
                        {
                                    ContentMode = UIViewContentMode.ScaleToFill,
                                    AutoresizingMask = UIViewAutoresizing.All,
                                    Frame = View.Bounds
                        };

        View.AddSubview(imgView);

        carousel = new CarouselView(View.Bounds);
        carousel.DataSource = new LinearDataSource(this);
        carousel.Delegate = new LinearDelegate(this);
        carousel.CarouselType = CarouselType.Linear;
        carousel.ConfigureView();
        View.AddSubview(carousel);
    }
}

Release Notes

v3.0 Release Notes

Jan 13, 2015

Support for unified api using Xamarin.iOS 8.6

Write a Review

18 reviews

Brian Minnaar rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Any Nuget feed for this?

Posted on: August 1, 2016 / Version: 3.0
Epam Systems

NOTE: Alliance India is now acquired by EPAM Systems Inc. This Alliance component will be removed in 15 days and you can find the upgraded (improvised and rebranded) component.

EPAM Xamarin Team thanks you for your patience and continued patronage.

Posted on: July 14, 2016 / Version: 3.0
Torbin Pace rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Hoping this review will get the attention I need to help get this issue resovled.

The DidScroll delegate function is infinitely hit after scrolling. This causes random crashes in my application.

The component has been great and very easy to impliment but this issue is causing serious problems in my application.

A way to reproduce this is set up your delegate and override the DidScroll and simply write to the console. You will see that it will write to the console infinitly until the app crashes.

Posted on: May 18, 2016 / Version: 3.0
Benon Czornij rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Implemented a carousel successfully but was faced with two problems.

  1. I implemented my own pager dots/items but could not find a swipe event to update them when user swipes from slide to slide
  2. On iOS 9+, the carousel lags and sometimes gets stuck when user reaches the last slide and keeps scrolling/swiping in same direction.

Has anyone faced a similar problem on iOS 9+ ?

Posted on: March 9, 2016 / Version: 3.0
Pedro Llanes Saura

If I useCarouselType = CarouselType.Linear, how could I quit spacing between Views?

Thnx

Posted on: February 25, 2016 / Version: 3.0
Gowtham Raj

@Tishawan - I was having the same issue for Linear Type (images and labels are duplicated while scrolling). It would be helpful if you share your fix. Thanks.

Posted on: December 19, 2015 / Version: 3.0
Tishawn Fahie rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Update 3 - Giving this 5 stars works great. All erros were of my own. I was able to fix the issues I was having.

Good stuff and thank you for your prompt response.

Update - Thank you for your response, Yes i’m using the reuse view accordinly and everything works fine in every other type, coverflow etc… It’s only in linear type where the images get duplicated and the labels for each button get switched around as well. Can I create a youtube video so that I can show you what I mean?

I love this tool and it really works well but i found a bug and I hope you can help - So in Linear mode I have 14 items. I have an array of pictures that get assign to each button. But I notice images are duplicated. For example i have 14 images for 14 buttons but i notice the image for button 1 gets duplicated to button 5 and so on. If i switch types it's fine and it works great but i really want this to work for linear. Any ideas?

Posted on: September 3, 2015 / Version: 3.0
Alliance Global Services India Private Limited

Below method is responsible for building the view for each item in data source class,

UIView ViewForItem(CarouselView carousel, nint index, UIView reusingView) This method has parameter called reusingView, this is basically for reusing the first item view from 2nd item on-wards instead of creating brand new view for each item. But this has one gotcha developer must take care that view is updated with correct presentation like UILabel text, UIImageView image, UITextField text, UIButton title and so on.

Posted on: August 19, 2015 / Version: 1.2
Andy M rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Trying to call ScrollToItem with animate set to true does not work on most iOS devices.

Posted on: February 27, 2015 / Version: 3.0
Son Nguyen rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Very useful control. Thanks Alliance.

It would be nice to have a bit more documentation either in-line or on the Web.

Also, it seems the CarouselView's StopAnimation() method throws a null reference exception when it's called by its Dispose() method when it's not currently animating. I can reproduce this consistently when CarouselView's Dispose() method is called by MonoTouch. Could a check be added within Dispose() to only call StopAnimation() while animating? Below is some of my Debug output. I'd like to provide more info to get this resolved. Please contact me via a Xamarin Forums Message to RADev, as I cannot determine another way to contact Alliance about this issue other than through a review . I am using version 2.0 of this component. Thanks again!

System.NullReferenceException: Object reference not set to an instance of an object 2014-12-02 12:26:03.743 MyiOSApp [13830:370168] Unhandled managed exception: Object reference not set to an instance of an object (System.NullReferenceException) at Alliance.Carousel.CarouselView.StopAnimation () [0x00000] in :0 at Alliance.Carousel.CarouselView.Dispose (Boolean disposing) [0x00000] in :0 at MonoTouch.Foundation.NSObject.Dispose () [0x00000] in /Developer/MonoTouch/Source/maccore/src/Foundation/NSObject2.cs:127

Posted on: December 2, 2014 / Version: 2.0
Dylan Janeke rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Hey, thanks - very handy component

Posted on: October 12, 2014 / Version: 1.2
Will Carson rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

This component worked perfectly for us, until we updated to ios8! Since the update the layout seems a little off and it doesn't tie in with the layout logic correctly. Otherwise I would give it 5 stars.

Edit: We have the latest version of xamarin ios installed and version 1.2 of the component but we still get the issue where the carousel sits towards the top left of the view, rather than in the center as before. Is there a support area where I can raise this with you directly. Thanks.

Posted on: October 7, 2014 / Version: 1.2
Mrinal Bikram Shaha

Burak Güner, Please use the DidScroll method of delegate to do any thing that needs to be done after scrolling.

Posted on: October 7, 2014 / Version: 1.1
Burak Güner rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Hi This is a good component but i cant detect first bound and last bound? How can i detect this?

Posted on: September 19, 2014 / Version: 1.2
ahmed khan rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Update: I was using the older version of this component - Support told me to update to latest version and I did and the new version is working excellently!!

Works great with over a 100 data items in multiple orientations. I now rate this as a five star component -sorry for the delay in updating this review

Thanks! Ahmed Khan

OLD ISSUE (CLOSED) When I try compile I'm getting this error

Error MT4117: The registrar found a signature mismatch in the method 'Alliance.Carousel.CarouselView.FadeInItemView' - the selector 'fadeInItemView' indicates the method takes 0 parameters, while the managed method has 1 parameters. (MT4117)

and I'm on Xamarin Studio Version 4.3.4 and Monotouch 7.2

Posted on: May 15, 2014 / Version: 1.2
Fritz Baconguis rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

The Component Works Great for me...

I wonder if it has an option to add tiny (circle) indicator under the carousel ?

Posted on: April 21, 2014 / Version: 1.2
Daniel Christopher Treidene rates this with
  • 1
  • 2
  • 3
  • 4
  • 5

Problem was solved by deveper pretty damned fast. Max stars for quick feedback & fix.

Posted on: April 17, 2014 / Version: 1.0
Istvan Palfy

I wonder why you didn't include the source code like the original Author https://twitter.com/nicklockwood did. On the other hand you could use https://github.com/mono/monotouch-bindings/tree/master/iCarousel. There is no need for a closed c# dll if you can bind the native lib. Open Sourced, well tested, actively developed by 8 contributors and always up to date.

Posted on: April 16, 2014 / Version: 1.2