I have a simple QML code that intercepts the volume key button.
Keys.onVolumeUpPressed: { console.log("onVolumeUpPressed"); volumeUp(); }
This code runs perfectly on Android, but it doesn't on iOS. Do you have any clue?
Probably I found the answer myself.
In the QT code I found this https://github.com/qt/qtbase/blob/32cdf0ce0faaeb6fe8bbc2f3df27a597c0bb8a55/src/plugins/platforms/android/androidjniinput.cpp#L431 but I didn't find anything for iOS. So I guess it's simply not developed.
Related
iOS 10 it's still in beta, but it will be released on Tuesday the 13th.
I install the beta on my iPad and I notice that the tap is not working very well. (single tap not working, you have to tap several times to simulate a single tap (or click a button, change page and so on)
I am currently running ios 10.0.1 (updated last night) and i'm still facing this issue.
Is anybody facing the same problem?
I can see this behaviour only on my app, other apps are working fine.
The setup is:
ionic 1.3.1
cordova 6.3.1
Is there anything changed on iOS 10 events that I need to bare in mind? sorry for the vague question, but it's something I need to fix before they release it officially or I will have a lot of angry customers.
Thank you !!!
SMALL UPDATE
Replacing ng-click with on-tap should solve part of this issue. You will still have problems with ui-sref and with any other place that doesn't use ng-click tho.
I've posted this issue in a bunch of different places, if you wanna keep track of it, they are here:
https://github.com/driftyco/ionic/issues/6928#issuecomment-253463917
https://forum.ionicframework.com/t/ionic-tap-issues-with-ios10/66764
Use (tap) directive instead of (click) directive.
Angular 2:
Ionic provides you with hammerjs under the hood, if you use the (tap) directive angular 2 will do all the wiring to connect that directive with hammerjs and that removes the 300ms delay.
Good luck.
Example:
<my-component (tap)="doSomething()"></my-component>
Angular 1.x:
Try with http://ryanmullins.github.io/angular-hammer/
Is the recommended repository from the guys of hammerjs for Angular 1.x
Example:
<div hm-tap="doSomething"></div>
i found one solution on website. but i don't use ng-material in my app.
did you try this????
.config(function( $mdGestureProvider ) {
$mdGestureProvider.skipClickHijack();
})
FIXED!
I finally fixed this. I don't know if this will be useful for you tho. The issue was one plugin I bought from ionic market, and to be precise it was this one:
https://market.ionic.io/plugins/ion-time-picker
I already sent an email to the developer, but if you are using this plugin, it may be the cause of ios10 not working.
I am working on a Cordova app for which the client insists we have a custom keyboard for numeric input that looks native; the goal is similar to a keyboard that comes up with PayPal.
Here is the problem: we need to do this without touching the way things work for Android in our app. This probably means we need to create a cordova plugin, but I have read that creating custom keyboard is looked down on by the folks over at Apple (see this old post about it).
I've had a very difficult time finding any documentation on how to do this with Cordova on IOS, which makes me lean towards rolling a solution inside of Cordova using a jquery library. My question has two parts:
1: If possible, how does one create a custom keyboard for html5 inputs in Cordova as an IOS plugin?
2: If this is a lost cause, what existing jquery plugins would you recommend instead?
I'm trying to use:
navigator.app.loadUrl("http://www.google.com", { openExternal:true } );
And it does not work for iOS, either on device and simulator. I've used this same line of code in a similar project, and I'm using the same version of phonegap on both (1.5.0). On android the same code works perfectly. The device ready function also fires, so I'm guessing phonegap is being loaded. I'm not using the phonegap.js file of android, I've checked that.
While debugging I found that navigator.app is an undefined object. Does anybody have any idea of a configuration I might be missing to cause this?
Thanks for your help.
Cheers,
Miguel
The "navigator.app" object is only available on Android. Luckily in the soon to be released 2.3.0 version of PhoneGap you will be able to do:
window.open("http://www.google.com", "_system");
to do exactly what you want to do.
When deploying a simple Sencha Touch 2 app on a non-touch blackberry device (like Bold),
the webfield is showing about 6 pixels height of the content instead of 100% height.
there is a solution offered on this thread:
http://www.sencha.com/forum/showthread.php?151188-Blackberry-Webworks-Issues
However, when i added the code, nothing was changed.
Question: How does one solve this issue?
Disable mouse cursor and enable the default navigation style of non-touch BB devices in a sencha app.
There is a solution offered here: http://resilientcoder.blogspot.co.il/2011/03/getting-sencha-touch-to-work-on-non.html unfortunately, looks like it was written for sencha touch 1, not 2.
Question: is there a better solution? if not, how do i use this solution in the Commercial version of sencha touch (he mentions that his solution works only for the open source version)?
(Saw your mail earlier this morning)
Back to the OP,
We have this issue solved by using following code. Same concept as from the source. We got our project ran on Blackberry Bold 9790 (Device), but not any of the simulator because it crashes when we write something to the file system.
(function() {
// Define a blackberry viewport
Ext.define('Ext.viewport.Blackberry', {
extend: 'Ext.viewport.Default',
constructor: function (config) {
// Blackberry does not like height: 100%
this.superclass.config.height = this.getWindowHeight() + 'px';
this.callParent([config]);
return this;
},
getWindowHeight: function () {
//Don't know why need to deduct by 120?!
return window.innerHeight-120;
}
});
// Insert a new Blackberry specific viewport
Ext.override(Ext.viewport.Viewport, {
constructor: function (config) {
return Ext.create('Ext.viewport.Blackberry', config);
}
});
})();
Then, you can create any component and supply a fullscreen: true. It should takes up the whole viewport.
We have developed a similar app on BBOS 7+ and Sencha Touch 2, but we gave up the idea of having non-touch devices to work as stated by Sencha Touch team themselves, this is why Sencha Touch is called Sencha T O U C H and they won't support non-touch mobile devices.
This is quite terrible. We can't get it to work on non-touch devices so in the end we ditched the support on non-touch devices. I can't tell you what is our approaches as I can't remember the exact details on this issue. Roughly, I messed with sencha-touch-all-debug in cheating Sencha that this code is running on a desktop so to simulate clicking, but Touch devices will then fails to work as the touches cannot be recognized as click. Something to do with event dispatches I would say. We spent almost a week to solve this problem, but gave up in the end. No solution so far. We just keep it to touch devices.
in the end, the solution presented # http://www.sencha.com/forum/showthread.php?151188-Blackberry-Webworks-Issues worked for the screen size issue.
I only had to add the code blocks to my project's sdk viewport folder (and add the Blackberry.js file).
regarding my 2nd question, looks like there is no solution (as Lionel wrote)
I have no idea how to call these and so I'm having a hard time googling for it. I've seen these a several times in iOS and MacOS apps to think they might be an OS feature. I'm talking about the blue tags or groups in text field controls. See the images below.
That's an NSTokenField on Mac. On iOS there's no official implementation (file a request if you want one) so you'd have to go with a third-party implementation. If I remember correctly, the Three20 framework has one...
Googling found these iOS versions:
JSTokenField
TTMessageRecipientField (I think)
This helper class is SO much better... https://github.com/thermogl/TITokenFieldView