How can I prevent multitouch in Xamarin Forms (specifically iOS project)? - ios

We have a project with a chat page. In this page, when the user simultaneously taps the text entry box and outside of the box, we have undesired behavior. The text entry box moves to make room for the keyboard but the keyboard does not display. We have an Android and iOS project, but this only occurs in the iOS side.
I believe disabling multitouch would be a good option here because we do not use any multitouch gestures. However, I cannot find any information about how to successfully accomplish this. I have read about doing something like TouchesBegan, but it did not work for me.

You can't disable multitouch throughout your app as the iOS SDK just does not allow this.
You could use ExclusiveTouch on a view to block touch events from other views while this one is receiving a touch event.

Related

iOS AudioKit using `AKKeyboardView`

The question is very simple. Is it possible to programmatically send a note on/off so it will show on the keyboard view? What I'm trying to do is link the AKMIDICallbackInstrument to the keyboard.
There was an article about doing something similar but it doesn't seem to be possible. (Thinking about it, the keyboard delegate should be the one handling keyboard view touch events, not the other way around...) Also checked the AKKeyboardView code, but it seems like there are only touch related code.
If there is no such method, are there plans to add them?
Two methods have been added to AKKeyboardView on the develop branch of AudioKit:
programmaticNoteOn(_ note: MIDINoteNumber)
programmaticNoteOff(_ note: MIDINoteNumber)
These allow you to programmatically simulate key presses and key releases without calling the delegate.

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

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.

How can I disable gestures in the ios simulator?

I am trying to test out my site using the ios simulator and I don't want the default double-tap gesture to work when the user double-clicks, since it is interfering with my site.
Is there any way to disable the double-tap gesture either in the simulator or in the code?
I don't think it's possible to disable just the double tap gesture, and it may not be possible to disable at all.
The relavant references are the Safari Web Content Guide and the GestureEvent Class Reference. The first says that double tap doesn't produce a gesture event. It's possible that suppressing lower level touch events will cause the double tap not to be recognized, but that will also cause other gestures not to be recognized, which it sounds like you don't want. There are other things you can do as well such as restricting the zoom range for the site, but they all have other side effects that you may not want
I have not tried this, but see if you can add a doubleTap GestureRecognizer to your webView and do nothing in the target function.
On a side note, if your website is meant to be viewed on mobile devices, it would be advisable to leave alone the double tap gesture, as it is the standard way of zooming.

Disabling Split Option in iOS5 Keyboard

I am facing problem in my app because of the new split keyboard option in iOS5.
Is there any way we can hide or disable this option in objective C?.
Thanks in advance.
Seems like the split keyboard does not use the same functions as regular keyboard. see here.
missing kb notifications
Here's the problem: You can iterate through the keyboard subviews and hide the button but you can't control the state of the keyboard when going from one app to the next. It would get really tricky and sneaky to force the private api to call when the application did enter foreground and the keyboard became active.
You could do this but apple may deny you from the store.
Fix your view to account for the keyboard movement. Your users will dock or unsplit the keyboard when there's clear disruption in the UI due to the keyboard placement.
Other solutions could be to move the entire view that requires keyboard placement to be docked or undocked using the notifications. See other posting here: StackOverflow article

Is there any way to create a custom VoiceOver gesture?

Is there any way to create a custom gesture in iOS specifically for VoiceOver users?
Thank you
I think this MIGHT be possible. The iOS Mail app (at least in iOS 6) seems to contain custom Voiceover actions (you can swipe up or down to enable a "delete" operation on a mail item in the list).
My guess is (and I haven't verified this, is that if you add a swipe recogonizer only when UIAccessibilityIsVoiceOverRunning() returns true.
I haven't tested this yet.
I'm almost certain that this is not possible. That said, the accessibility APIs allow you to do things like speak content when a view changes, so maybe you could use this?
You mentioned a gesture specifically for Voiceover users - if Voiceover users are the majority of your audience, then you could just provide a standard gesture, which Voiceover users could invoke by double tapping and holding to pass the gesture through, and then performing the gesture itself.
For example, to "pull to refresh" a Voiceover user would double tap, hold, then pull down.

Resources