[TIMOB-25302] iPhone X: Add new home-indicator related API's
| GitHub Issue | n/a |
|---|---|
| Type | New Feature |
| Priority | Low |
| Status | Closed |
| Resolution | Fixed |
| Resolution Date | 2018-05-15T23:59:03.000+0000 |
| Affected Version/s | Release 6.2.0 |
| Fix Version/s | Release 7.3.0 |
| Components | iOS |
| Labels | demo_app |
| Reporter | Hans Knöchel |
| Assignee | Vijay Singh |
| Created | 2017-09-16T19:14:45.000+0000 |
| Updated | 2018-07-20T08:36:13.000+0000 |
Description
There are some utility API's in the iOS 11 GM seed that we might want to add to the SDK:
-
prefersHomeIndicatorAutoHidden
- Returns a Boolean indicating whether the system displays a visual indicator for returning to the Home screen.
- Could be exposed as a Ti.UI.Window boolean-property "homeIndicatorAutoHidden"
- setNeedsUpdateOfHomeIndicatorAutoHidden
- Notifies UIKit that your view controller updated its preference regarding the visual indicator for returning to the Home screen.
- Could be exposed as a Ti.UI.Window event "homeindicatorupdate"
PR - https://github.com/appcelerator/titanium_mobile/pull/9804 Test Case 1 -
Test Case 2-var win = Ti.UI.createWindow({ backgroundColor: '#fff', homeIndicatorAutoHidden : false }); var btn = Ti.UI.createButton({ title: 'Open New Window' }); btn.addEventListener('click', function() { win1.open({modal:true}); }); win.add(btn); win.open(); var win1 = Ti.UI.createWindow({ backgroundColor: '#fff', homeIndicatorAutoHidden : true }); var btn1 = Ti.UI.createButton({ title: 'Close' }); btn1.addEventListener('click', function() { win1.close(); }); win1.add(btn1);Test Case 3 -var win = Ti.UI.createWindow({ backgroundColor: '#fff', }); var btn = Ti.UI.createButton({ top : 100, title: 'Set Home Indicator true' }); btn.addEventListener('click', function() { win.setHomeIndicatorAutoHidden(true); Ti.API.info('homeIndicatorAutoHidden is ' +win.homeIndicatorAutoHidden); }); win.add(btn); var btn1 = Ti.UI.createButton({ top : 200, title: 'Set Home Indicator false' }); btn1.addEventListener('click', function() { win.setHomeIndicatorAutoHidden(false); Ti.API.info('homeIndicatorAutoHidden is ' +win.homeIndicatorAutoHidden); }); win.add(btn1); win.open();Test Case 4 -var win = Ti.UI.createWindow({ backgroundColor: '#fff', homeIndicatorAutoHidden : true }); var btn = Ti.UI.createButton({ title: 'Push Window' }); btn.addEventListener('click', function() { navWindow.openWindow(win1); }); win.add(btn); var navWindow = Titanium.UI.iOS.createNavigationWindow({ window: win }); navWindow.open(); var win1 = Ti.UI.createWindow({ backgroundColor: '#fff', homeIndicatorAutoHidden : false }); var btn1 = Ti.UI.createButton({ title: 'Pop Window' }); btn1.addEventListener('click', function() { win1.close(); }); win1.add(btn1);var win1 = Ti.UI.createWindow({ backgroundColor: 'blue', title: 'Blue', homeIndicatorAutoHidden : true }); win1.add(Ti.UI.createLabel({text: 'I am a blue window.'})); var win2 = Ti.UI.createWindow({ backgroundColor: 'red', title: 'Red' }); win2.add(Ti.UI.createLabel({text: 'I am a red window.'})); var tab1 = Ti.UI.createTab({ window: win1, title: 'Blue' }), tab2 = Ti.UI.createTab({ window: win2, title: 'Red' }), tabGroup = Ti.UI.createTabGroup({ tabs: [tab1, tab2] }); tabGroup.open();