We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Needle is losing the center position when rotate screen on iPad

Hi, 

I added two Gauges to a StackLayout and when rotate screen I change the Orientation from Vertical to Horizontal.

Testing on an iPad the needle goes to other position not in the center of the gauge on both gauges.

Please can you check this and provide a fix for it?

Thanks,
Joao

13 Replies

AK Ashwin Kumaravel Syncfusion Team July 24, 2017 06:25 AM UTC

Hi Joao,

Thanks for using Syncfusion products,

We have already logged this issue “Needle pointer is changing position in Landscape Mode” on our side. We have included the fix for this issue from the version 15.2.0.40 and can you please download our latest Essential Studio Volume 2 Service Pack 2, 2017 (Version 15.2.0.46) from the below link,

https://www.syncfusion.com/forums/131295/essential-studio-2017-volume-2-service-pack-release-v15-2-0-46-available-for-download

Please let us know if you need further assistance.

Regards,
Ashwin.k


JF Joao Fortes July 28, 2017 07:25 AM UTC

Hi, 

The update fixed the needle thanks! Now the only last issue here is the RangePointer.
As you can see on attache image it's strange, just on first access, if you rotate the screen it 's ok.
Only on iOS, both iPhone and iPad.
Please if you can take a look I appreciate.
Thanks,
Joao
Image: https://ibb.co/dbRON5


AK Ashwin Kumaravel Syncfusion Team July 31, 2017 09:47 AM UTC

Hi Joao,

Sorry for the inconvenience caused.

We could able to reproduce the reported issue with RangePointer at our end and we have already fixed this issue and the fix will be included in our 2017 Vol3 release which will be released in the first week of August 2017.

Regards,
Ashwin





JF Joao Fortes July 31, 2017 05:22 PM UTC

That's great! Thanks!



AK Ashwin Kumaravel Syncfusion Team August 2, 2017 03:47 AM UTC

Hi Joao

As we promised earlier, we will include the fix in 2017 Vol3 release which will be released in the first week of August 2017.

Regards,
Ashwin




JF Joao Fortes August 14, 2017 10:41 PM UTC

I'm trying your fix but the problem now is bigger.

On iOS when the page opens I remove the gauge from RelativeLayout and add again to fit the screen on OnSizeAllocated.

When I call the Children.Remove passing a control with a SFGauge inside, it give me a NullReferenceException

Can you take a look please, now it's unusable.

Thanks 



AK Ashwin Kumaravel Syncfusion Team August 15, 2017 06:18 AM UTC

Hi Joao,

Sorry for the inconvenience,

We have validated your query and we are not able to reproduce the reported issue at our end. We have created a testing sample in which CircularGauge and button is added inside a Relative Layout. We have removed Circulargauge in a button click from the layout but still we are not able to reproduce the reported exception.

We have tested with our latest assembly 15.3.0.26, so can you please ensure you are using the same assemblies?

Can you please download the sample from the below link?

Sample link-GaugeTestingExample

Since the issue is not reproduced at our end, we would like to know the following details, which will helpful in further analysis and to provide the solution sooner.

- Modify the attached sample to replicate your scenario
- Or provide your sample along with replication steps.

Regards,
Ashwin



JF Joao Fortes August 15, 2017 10:12 PM UTC

Your example, works I can't reproduce my problem in your example, but may with this info you could find the problem:

- I'm using a custom control with a SFGauge in a library project

- In my page (in Xamarin Forms project) there is 2 instaces of this control, so 2 SFGauges will appear in the page

- I'm removing the control from the RelativeLayout on OnSizeAllocated, to reposition it when user rotate the screen.

Here is the error stack:

System.NullReferenceException: Object reference not set to an instance of an object

  at Syncfusion.SfGauge.iOS.SFCircularGauge.MovedToSuperview () [0x00024] in <7845f32627aa48f38bf0ab603ff23021>:0

  at at (wrapper managed-to-native) ObjCRuntime.Messaging:void_objc_msgSendSuper (intptr,intptr)

  at UIKit.UIView.RemoveFromSuperview () [0x0002a] in /Users/builder/data/lanes/4991/4a279c9a/source/xamarin-macios/src/build/ios/native/UIKit/UIView.g.cs:1402

  at Syncfusion.SfGauge.XForms.iOS.SfGaugeRenderer.OnElementChanged (Xamarin.Forms.Platform.iOS.ElementChangedEventArgs`1[TElement] e) [0x0001d] in <1e565a9d2e9241cb9583a4173f856caa>:0

  at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1[TElement].SetElement (TElement element) [0x00118] in <710620a3d4a94be99b29618147548b59>:0

  at Xamarin.Forms.Platform.iOS.VisualElementRenderer`1[TElement].Dispose (System.Boolean disposing) [0x0007b] in <710620a3d4a94be99b29618147548b59>:0

  at Xamarin.Forms.Platform.iOS.ViewRenderer`2[TView,TNativeView].Dispose (System.Boolean disposing) [0x00000] in <710620a3d4a94be99b29618147548b59>:0

  at Foundation.NSObject.Dispose () [0x00000] in /Users/builder/data/lanes/4991/4a279c9a/source/xamarin-macios/src/Foundation/NSObject2.cs:133

  at Xamarin.Forms.Platform.iOS.Platform.DisposeModelAndChildrenRenderers (Xamarin.Forms.Element view) [0x00038] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.iOS\Platform.cs:231

  at Xamarin.Forms.Platform.iOS.Platform.HandleChildRemoved (System.Object sender, Xamarin.Forms.ElementEventArgs e) [0x00007] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.iOS\Platform.cs:342

  at Xamarin.Forms.Element.OnDescendantRemoved (Xamarin.Forms.Element child) [0x00008] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Element.cs:601

  at Xamarin.Forms.Element.OnDescendantRemoved (Xamarin.Forms.Element child) [0x00022] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Element.cs:604

  at Xamarin.Forms.Element.OnDescendantRemoved (Xamarin.Forms.Element child) [0x00022] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Element.cs:604

  at Xamarin.Forms.Element.OnDescendantRemoved (Xamarin.Forms.Element child) [0x00022] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Element.cs:604

  at Xamarin.Forms.Element.OnDescendantRemoved (Xamarin.Forms.Element child) [0x00022] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Element.cs:604

  at Xamarin.Forms.Element.OnChildRemoved (Xamarin.Forms.Element child) [0x00021] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Element.cs:368

  at Xamarin.Forms.VisualElement.OnChildRemoved (Xamarin.Forms.Element child) [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:578

  at Xamarin.Forms.Layout`1[T].OnChildRemoved (Xamarin.Forms.Element child) [0x00000] in <0f1ce60dbc6b4e24af01294c7acf41c6>:0

  at Xamarin.Forms.Layout.OnInternalRemoved (Xamarin.Forms.View view) [0x00012] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Layout.cs:417

  at Xamarin.Forms.Layout.InternalChildrenOnCollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x0002f] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\Layout.cs:381

  at at (wrapper delegate-invoke) <Module>:invoke_void_object_NotifyCollectionChangedEventArgs (object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)

  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x0000f] in <3d3bed331af843baa5877f5ed09f45e1>:0

  at System.Collections.ObjectModel.ObservableCollection`1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedAction action, System.Object item, System.Int32 index) [0x00009] in <3d3bed331af843baa5877f5ed09f45e1>:0

  at System.Collections.ObjectModel.ObservableCollection`1[T].RemoveItem (System.Int32 index) [0x0002b] in <3d3bed331af843baa5877f5ed09f45e1>:0

  at System.Collections.ObjectModel.Collection`1[T].Remove (T item) [0x00027] in <5fd075b6ff6143c68dcfdd192b8757c5>:0

  at Xamarin.Forms.ObservableWrapper`2[TTrack,TRestrict].Remove (TRestrict item) [0x00035] in <0f1ce60dbc6b4e24af01294c7acf41c6>:0

  at Rabbit2.Pages.NavigationTrip.OnSizeAllocated (System.Double width, System.Double height) [0x00081] in /Users/joaofortes/dev/Rabbit/Rabbit2/Rabbit2/Rabbit2/Pages/NavigationTrip.xaml.cs:60

  at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:629

  at Xamarin.Forms.VisualElement.SetSize (System.Double width, System.Double height) [0x00021] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:773

  at Xamarin.Forms.VisualElement.set_Bounds (Xamarin.Forms.Rectangle value) [0x0005d] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:157

  at Xamarin.Forms.VisualElement.Layout (Xamarin.Forms.Rectangle bounds) [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\VisualElement.cs:511

  at Xamarin.Forms.MasterDetailPage.Xamarin.Forms.IMasterDetailPageController.set_DetailBounds (Xamarin.Forms.Rectangle value) [0x0001a] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Core\MasterDetailPage.cs:105

  at Xamarin.Forms.Platform.iOS.TabletMasterDetailRenderer.ViewDidLayoutSubviews () [0x00085] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.iOS\Renderers\TabletMasterDetailRenderer.cs:193

  at at (wrapper managed-to-native) UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)

  at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Users/builder/data/lanes/4991/4a279c9a/source/xamarin-macios/src/UIKit/UIApplication.cs:79

  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00038] in /Users/builder/data/lanes/4991/4a279c9a/source/xamarin-macios/src/UIKit/UIApplication.cs:63

  at Rabbit2.iOS.Application.Main (System.String[] args) [0x00001] in /Users/joaofortes/dev/Rabbit/Rabbit2/Rabbit2/Rabbit2.iOS/Main.cs:17




AK Ashwin Kumaravel Syncfusion Team August 16, 2017 02:00 PM UTC

Hi Joao,

Thanks for the update,

We have validated your stack trace at our end but we are unable to reproduce the same scenario. Can you please share your code which you are using inside the OnSizeAllocated method so it will be very helpful for us to provide you a better solution?

Regards,
Ashwin.k



JF Joao Fortes August 18, 2017 09:10 AM UTC

attached is a project where you can see the problem. It's on about page.




Attachment: SFGaugeTest_55bf2845.zip


AK Ashwin Kumaravel Syncfusion Team August 21, 2017 12:28 PM UTC

Hi Joao,

Sorry for the inconvenience caused.

We could reproduce the reported issue “Circular gauge is throwing Null exception” at our end. And we have logged a defect report regarding the same. A support incident to track the status of this defect has been created under your account.

Please log on to our support website to check for further updates.

https://www.syncfusion.com/account/login?ReturnUrl=%2fsupport%2fdirecttrac%2fincidents/  

Regards,
Ashwin K



JF Joao Fortes August 22, 2017 09:56 PM UTC

solved! Thanks!



AK Ashwin Kumaravel Syncfusion Team August 23, 2017 09:12 AM UTC

Hi Joao,

We are glad to know that issue has been resolved at your end. Please let us know if you have any queries.

Regards,
Ashwin

Loader.
Up arrow icon