this post was submitted on 31 Dec 2024
6 points (100.0% liked)
Arctic
433 readers
1 users here now
Arctic is a Lemmy client for iOS built on pure Swift. It currently supports iOS 15+ and Lemmy v0.17+
Get the latest version on TestFlight, or check it out on the AppStore.
If you would like to support Arctic’s development, feel free to Buy Me A Coffee
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Thanks for getting to this so quickly—I’ll make separate replies as I get testing to try to keep things organised.
One the ‘zoomed image small pan’, it’s definitely better than before, but what I see now is that there’s a very small threshold below which the image doesn’t move at all, but the controls are shown. And so it can be even harder to hide them again. Let me know if you can’t reproduce that, and I’ll make a recording—but I don’t think the recorder shows the screen tap position so it might be hard to see what’s happening. The basic steps are:
I also see this if the image can’t move if for example it’s very wide aspect and double-tap has left black margins top and bottom—then try dragging slightly up or down and the controls are shown.
Alright, I managed to resolve this. Now small pans will not trigger the controls to appear. I should be releasing an update tonight that will include these fixes.
Thank you for all of that—I’ve tried very hard, but can’t get it to misbehave at all now :) Which means the only thing be got left is the layout between feed and post, which honestly isn’t a huge deal but might be good to have an option like for link previews to keep the order consistent—see this:
Vs:
But even now, the media experience is so much smoother and more enjoyable.
This one is a bit tricky. I’ve noticed the small threshold when dragging where nothing happens, and it can be recognized as a tap. I’m not exactly sure what is causing the dead zone for panning. I have a feeling it is due to 2 gestures waiting to get directional info to decide which one to trigger.
I’ll do some more digging and see what I can come up with. Things get rather convoluted when layering multiple gestures together.
This one still seems to be there… See this example where many times a small drag activates the controls.
Sometimes the drag moves the image, sometimes it doesn’t (not sure if the screen recorder can capture taps / drags?).
Would it be too much to simply disable the controls overlay when zoomed in? Just thinking that might be easier than wrangling the gestures.
Edit: forgot to say that disabling might also solve the issue of accidental single tap before zooming, which currently leaves the controls visible and no simple way to get rid of them without zooming out again.
Alright, I’ve made some progress and believe I’ve finally resolved the issue. It turned out that my previous approach to checking for movement using tap gestures was only detecting movement after the gesture had already been recognized. I’ve updated the code accordingly, and I’ve been spamming pan gestures for the past day without any issues. So far, I haven’t noticed a single instance of the controls showing up.
As an additional layer of security, I might consider disabling the gesture while the user is zoomed, unless the tap occurs within the image margins, where the pan gesture is already not recognized.