Bug 21744 - Carousel Page iOS CurrentPage bug
Summary: Carousel Page iOS CurrentPage bug
Status: RESOLVED FIXED
Alias: None
Product: Forms
Classification: Xamarin
Component: Forms ()
Version: 1.2.2
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: ---
Assignee: Rui Marinho
URL:
Depends on:
Blocks:
 
Reported: 2014-07-31 18:25 UTC by Matt
Modified: 2015-08-06 13:38 UTC (History)
9 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
files to reproduce bug (1.21 KB, application/zip)
2014-07-31 18:28 UTC, Matt
Details
SampleProject (184.43 KB, application/zip)
2015-06-29 14:03 UTC, Parmendra Kumar
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description Matt 2014-07-31 18:25:49 UTC
I am trying to edit the ItemsSource of the CarouselPage dynamically as the CurrentPage changes, and this works fine for Android, but not for iOS. When trying to swipe to the Page to the left, it automatically changes to that newly loaded page. If this was the correct behavior (as it is just trying to stay on the right index), it is still no good because if you try to set the SelectedItem to be the previous item that was on the page, it doesn't actually update the screen to reflect that change. 

I attached a project that can reproduce the bug. If you try it on Android it should work just fine in adding and removing pages. On iOS, swiping to the right page works fine as it is just adding more pages, but swiping to the left page does not.

Thank you and I hope this can be resolved soon!
Comment 1 Matt 2014-07-31 18:28:26 UTC
Created attachment 7556 [details]
files to reproduce bug

Make a Xamarin Forms project, replace App.cs with attached one, and add the Carousel Page. Deploy in iOS and try swiping to the left/previous page.
Comment 2 Alex Rainman 2015-05-15 09:37:33 UTC
This bug still in version 1.4 ...
Comment 3 Rui Marinho 2015-05-29 17:39:55 UTC
This should be fixed in 1.4.3-pre3
Comment 4 Parmendra Kumar 2015-06-29 14:03:37 UTC
Created attachment 11772 [details]
SampleProject

I have checked this issue with latest xamarin.forms 1.4.3.6371 and 1.4.3-pre3 but on iOS I am still getting same behavior as mentioned in bug description.

Hence reopen this issue.

Could you Please see my attached project and let me know if I have missed anything?

Thanks.
Comment 5 Rui Marinho 2015-07-02 08:30:03 UTC
Hi Parmendra, i just tried with 1.4.3.6374 and i can't get this behaviour, can you confirm, and maybe attach a screencast.

Matt did you tried our last version?
Comment 6 Parmendra Kumar 2015-07-03 07:20:28 UTC
@Rui,

I have checked this issue with latest stable version 1.4.3.6374  and observed that when I have SWIPED left or right then I don't see anything in application output. So could you please tell me that How can I verify this issue.

Screencast: http://www.screencast.com/t/RCbmGEwrz

Please see the screencast and let me know if I have missed anything.
I have followed the sample attached in comment #4.

Thanks.
Comment 7 Paul DiPietro [MSFT] 2015-08-06 13:38:54 UTC
The screen as shown in the screencast is black because the App class needs an App() constructor which sets MainPage to, in the case of using your code, navPage. It should then work as expected.

public App ()
{
    var testPage = new SwipeablePage (10);

    var navPage = new NavigationPage (testPage);

    MainPage = navPage;
}