Delays and laggy behaviour with Iphone X simulator - xcode

Im currently testing my Ionic app on the Xcode simulator. It works super fine on every ios device except for the Iphone X. When you slide on the ion-ranges, the animations are strongly delayed, the scrolling is laggy and not smooth. The transitions with click or swipe events are also very laggy and delayed. Have you also expererienced similar things with the IphoneX simulator or do you know how to solve this problem?

I noticed that if I click and try to scroll while holding down the mouse button on the iPhone X simulator, the scroll is very laggy and sometimes won't update until I release the mouse button. Yet on the other simulators, the scroll is smooth as butter, even if I hold down the mouse button (rather than click and flick).
If I change the iPhone X to 'physical size' using the simulator menu (window -> physical size), the scrolling is still laggy. But if I manually resize the window of the iPhone X to anything other than 'physical size', the scrolling becomes smooth like all the other device simulators.
I don't know why, and it's not always consistent, but it seems to work most of the time. Hopefully this helps someone with this annoying problem.

Related

Xamarin Forms buttons stop receiving mouse clicks after clicking on SkiaSharp CanvasView on iOS

I use SkiaSharp canvas to draw the main game screen, and then there are various Xamarin.Forms Buttons around the UI. This all works fine on when used directly on iPhone or iPad using a finger. However, when I connect a mouse (e.g., through a MacBook or otherwise), the buttons start working with about 10% chance after mouse-clicking on the SkiaSharp canvas (and not receiving the mouse click events with 90% chance). The SkiaSharp canvas itself works just fine.
If I bring up the iOS app launch menu from the bottom (which probably somehow temporarily exists the mouse navigation on the app), the buttons start working again with the mouse. But if I click the SkiaSharp canvas again with the mouse, the buttons have a high chance of becoming disabled again. If I change to using a finger, all works fine (even if the mouse clicks were not being registered immediately before). However, mouse clicks are not being registered even after touching with a finger, so finger-touching does not reset the issue with the mouse (but bringing up the menu from the bottom does).
We found this bug by testing the iOS game on MacBook Pro (the iOS apps recently came available on the App Store) but the same issue persists also directly with an iPad / mouse combination. It seems to be some sort of an issue between using a mouse (on iPad or on MacBook Pro), SkiaSharp canvas and Xamarin.Forms buttons.
Does anyone know what the root cause of the problem is and what is the workaround?
Not an answer as such, but some more information about reproducing the issue: A simpler repro case may be this small project: https://github.com/jrc14/TraceMatching/ .
Don't worry too much about what it's doing, but note that you're mean to click in the grey Skia canvas in the middle to create 'targets' - and that after you've done that, mouse-clicks are getting lost.
If you run it on a Mac, you'll see that, though the clicks get lost after you've clicked on the Skia canvas, they will start being received again if you click on something else (another app, or the Mac background).
(further edit) - after some noodling around I did find a workaround. If, once you've finished processing the touch action on the SKCanvasView, you reset its EnableTouchEvents property (i.e. set it to false, then back to true again), it seems that the clicks don't get lost any more,

Why does Xcode 7 keep losing constraints and losing preview window configurations?

My Xcode 7.0.1 constraints keep disappearing randomly. I'll put loving care into designing a nice layout and using the storyboard Preview window, and randomly my constraints just disappear. I've noticed that at the same time, my storyboard Preview window loses the configurations I've chosen. So let's say I'm looking at a landscape view on 4-inch iPhone and landscape iPad, all of a sudden they've both switched to portrait, and all my constraints have disappeared with no explanation. This is driving me crazy. Sometimes it happens at random, but there are some ways to reproduce it (e.g. if you switch over to your assets folder and look at a specific asset resolution, then back to your storyboard, boom - one or more constraints will disappear (at least on my system) and the preview window device settings are modified.

Is it possible to do an edge swipe in iOS simulator?

iOS 7 provides for a UIScreenEdgePanGestureRecognizer which detects swipes in from edges of the screen. Can this gesture be simulated using the iOS7 simulator in Xcode? Clicking and dragging outside the screen area just moves the whole simulator frame around.
On Simulator Version 11.4 I see the option
Window -> Show Device Bezels
which shows a virtual device frame around the simulated phone:
This allows to start the gesture "outside" of the screen. I could successfully trigger a UIScreenEdgePanGestureRecognizer from the left.
You don't have to swipe across the edges to trigger a UIScreenEdgePanGestureRecognizer, just start very close to the edge. It works if I start not more than ~15 points from the edge.
(this if for the simulator. I never tested this on a device)
As a side note: You have to create a gestureRecognizer for each edge. You can't OR edges together, so UIRectEdgeAll won't work.

iPhone retina simulator window not able to move above screen

When I run the iPhone retina simulator in Xcode it stops if from moving above the top of the screen, but the simulator window is bigger than my monitor, so I can't see what's at the bottom of the simulator window, how can I change things so I can move it upwards off the top of the monitor screen?
You can always use cmd+2 or cmd+3 to fit simulator to your screen.
You can scroll the Display of the Simulator with the two-finger scroll.
Can look like this on a 15" retina

ipad storyboard in xcode cannot drag button

I'm running xcode 4.5.2 to write an iOS app for both iphone & ipad ("universal" app).
I'm able to use the iphone storyboard to drag & drop buttons, labels, etc onto it. In fact I have functioning code on the iphone side.
However, since the beginning, I have not been able to drag & drop anything onto the ipad storyboard. When I try to do so the buttons, labels, etc just "bounce off".
Is there a way to reset the iPad storyboard so that I can get a clean start? It potentially could be that I had mistakenly (this is my very first iOS app) dragged a view or view controller onto the ipad story board. I tried deleting it but the whole ipad storyboard disappears after that.
It is probably something very simple but I'm very new to this. Thanks.
You can only drag & drop items into a view if you are in the most "zoomed-in" way of viewing it. Try pressing the "=" in the bottom right corner when you bring up your iPad storyboard (this will toggle between the most zoomed-in and the most previous zoom out). Once it zooms you in all the way, try dropping something onto your view again.
EDIT: Per Xcode 8 Release Notes, Interface Builder should now allow editing at all zoom levels.

Resources