iOS iPad are there hover like workaround within apps? NOT websites - ios

There seems to be dozens of questions on how to deal with :hover event on the websites when viewed in iPad.
My question is different - I'm building a native iOS game and it would be really good if a user can compare two items side by side. On PC this can easily be done by displaying one item a mouse-over panel when mouse hovers over an inventory item. The main benefit of such panel is that it is easy to show and easy to close on PC.
What are my alternatives for displaying a transient, hover-like interaction panel in a native iOS app?

For iPad (not iPhone) a UIPopover is pretty close to what you want. If you want to support iPhone/iPod as well, there are third party popover libraries for those devices.
However, I'm not sure how this would do for comparing 2 items, since the system only displays 1 popover at a time.
This is really more like a map callout bubble. You could build your own callout bubble sort of interface yourself without a lot of work. When you tap on an item, it would display it's callout, and when you tap on it again, or tap outside all items/callouts, it would hide it. I've done something like that for a custom map system I built for a client and it wasn't that hard.

Related

SwiftUI: Accessibility sound feedback for a draggable element

I am making an application that works essentially like a simple Drag-and-Drop Playground with the command blocks on the left and a droppable area on the right. I want to make it fully compatible with VoiceOver and I'm running into trouble with some of the accessibility aspects since this is my first Swift application.
This is what the playground currently looks like: (App Screenshot)
My goal is to provide the users with audio cues/feedback while they are dragging the elements to help them figure out what part of the screen they are currently at. The ideal functionality would be exactly like what one uses when editing an iOS device's Home screen (the arrangement layout of the apps).
When trying to rearrange apps on the home screen with VoiceOver enabled, you hear a row/column alert when you are dragging an app over an open area. I want a similar type of feedback that says "Droppable Area" when you are over the correct area (see scenario 1).
When trying to rearrange apps on the home screen with VoiceOver enabled, you hear a sound when you tap on an area that has no app icon. (This also happens when you are not editing the layout and simply tap on an open area with no app.) I want that noise to be what you hear when you drag a command over an area that is not droppable (see scenario 2).
Any ideas on how this might be possible or good references to look at?

What is this iOS Accessibility UI element, and how is it enabled/disabled?

I have members complaining that they are unable to tap certain buttons located in a custom navigation bar at the top of my iOS app. The common complaint is that when they do attempt to tap, they see UI that looks like this:
This is about a 200x200 pixel square that appears over the middle of the screen.
We have no code in our app that is capable of drawing that kind of UI. I can only assume this is being triggered by some kind of iOS UI or Usability setting. The only thing I can think of is that we also have a UITabBarController, and the user (in this case) happens to be on the "Browse" tab of my app. If possible, I would like to either a) programmatically disable this or b) inform the user how he can manually disable this UI via an iOS setting someplace.
Can anyone identify what might trigger the UI you see above?
It is a new feature of iOS 11. Take a look at Bar Item Images.
To disable this you should remove an image from Accessibility on Bar Item (see link). But I am not sure how (or even whether) you can define that a user has enabled large content text.
For more info take a look at What's New in Accessibility.

GUI areas restricted by the iOS

I would like to be able to use the areas that are occupied by the iOS in my app, using javaFX and Gluon. How can this be done?
That means any javaFX controllers functions as expected. Now they are almost impossible for a user to focus. When I have another controller in the middle area of the screen that one works like normal.
On iPhone 6 you can press the top most area and drag down to get access to a menu. The same exact thing with the bottom-most area by pressing then dragging upwards. And I believe that OS related functionality to be the reason.
The touch event probably do not reach the app properly over these areas. I am seeking to be able to have controllers placed here and have them work just as they are in other places.
This was done by adding a VBox layout, with TextField and TextArea to Gluon Layer - and then adding it to Layers of a class extending Gluon View (Called "BasicView").

MvvmCross dialog on android, modal on ios

I have a screen with 1 button. When clicking that button, a list of items should be shown (in which the user can select multiple items).
On android, i would like to do this using a dialog. I create a "DialogService" that does this, no problem.
On iOS, however, it seems that the best practice is to display a fullscreen tableview, for example as a modalView. Is it possible to do this without using a custom viewpresenter (e.g. modalViewPresenter)? I would very much prefer to have identical navigation on both platforms and just have different implementations of "DialogService"
I think trying to make one platform look and act like another is generally not a great idea as things start to look weird for the users.
But if you want to do it anyway I would start by trying to do something like this https://stackoverflow.com/a/29910246/1107580 (it is in objective-c) then trying to bind to the tableview that is in the alertcontroller.

Apples 3D Touch Peek Functionality Restrictions

I am looking in the newly announced 3D Touch to be released in the next set of apple phones. I see a great use case for this in and app that I have in development however when looking up the feature (https://developer.apple.com/ios/3d-touch/) I still cannot get a good feel for what Human Interface Restrictions may be in place for this type of feature.
If there is someone out there who understands how this 3D Touch works. Will it be possible (and permitted) to develop a Modal pop-up UITableView that would appear when 3D Touch force press is made on an item within the app? I am thinking something similar to the "Quick Actions" they have for the home screen but within my app.
Currently in the app, the user clicks on the item, sees its details page, and then its a "set" button to set it to a certain position a daily slot. I was thinking it would be much easier if the user could skip the details screen all together and have a force touch bring up a modal popup with a list of days for them to choose allowing them to set the item faster.
I am wondering if this would be in violation of the Human Interface Guidelines or would cause any trouble when submitting the app?

Resources