{ "id": "164487", "key": "TIMOB-24137", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "11", "description": "Is not a bug in our product", "name": "Not Our Bug" }, "resolutiondate": "2016-11-11T12:41:44.000+0000", "created": "2016-11-10T21:27:25.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "18253", "name": "Release 5.5.0", "archived": false, "released": true, "releaseDate": "2016-09-13" }, { "id": "18322", "name": "Release 5.5.1", "archived": false, "released": true, "releaseDate": "2016-09-28" } ], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-03-24T18:57:13.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h5. Issue description\r\nPrior to iOS 10 when Ti.Media.showCamera was called with showControls set to false the camera would show as full screen. As of iOS 10 there is a large black bar at the bottom \r\n\r\nIf you run the app in iOS 8 or 9 you will see the camera goes full screen when the controls are hidden. On iOS 10 there will be a black bar at the bottom of the screen.\r\n\r\nh5. Steps to Reproduce\r\n# Download the app testcase\r\n# Run \r\n# Click on the custom overlay camera button\r\n# The camera is not fullscreen", "attachment": [ { "id": "60677", "filename": "IMG_8357.PNG", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-11-10T21:26:38.000+0000", "size": 2212539, "mimeType": "image/png" }, { "id": "60676", "filename": "ios-10-camera-bug.zip", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-11-10T21:27:18.000+0000", "size": 10161090, "mimeType": "application/zip" } ], "flagged": false, "summary": "iOS 10 Camera Overlay is not fullscreen ", "creator": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Appcelerator SDK 5.1.1\r\niOS 10.1.1\r\n", "comment": { "comments": [ { "id": "400769", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Basically, it's a behavior change in iOS 10 causing transformations not being able to be applied before the camera is visible. This was discussed in TIMOB-23910 already. So previous to iOS 10, the native scale was automatically transformed to fit the bounds of the screen and Apple possibly changed this so the controls are primary placed in the below area (which is not the best solution for many use-cases). \r\n\r\nWe could try to apply a custom transformation after the camera is opened, but that would still flicker like experienced in the [Stackoverflow|http://stackoverflow.com/a/39534542/5537752] thread.\r\n\r\n*EDIT*: Let me correct the above comment, it looks more like an issue related to the overlay itself then the camera. We are currently working on a fix regarding overlay sizing in TIMOB-23936 which will now also be tested against this test-case. If possible, please extract the test-case from the Alloy project so it can be tested within a single app.js to ease the debugging. Thanks!\r\n\r\n*EDIT2*: I checked your demo-code and noticed you must talk about the camera, not the overlay, so the title is very misleading. But anyway, as described above, this is an iOS 10 behavior that is documented in many open radar reports, e.g. [this one|http://www.openradar.me/28232651], so it is no Titanium-specific but a native issue.\r\n\r\n*EDIT3*: Crazy! I just tested using my iOS 10.2 Beta 2 and it seems to be fixed from Apple!\r\n\r\nI used the below (app.js'd) code:\r\n{code:javascript}\r\n// -- General UI -- //\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: \"#fff\",\r\n layout: \"vertical\"\r\n});\r\n\r\nvar props = {\r\n top: 30,\r\n width: Ti.UI.SIZE,\r\n height: 60,\r\n font: {\r\n fontSize: 18\r\n },\r\n color: \"#000\",\r\n backgroundColor: \"#faa\",\r\n};\r\n\r\nvar label1 = Ti.UI.createLabel({\r\n text: \"Default Camera\"\r\n});\r\n\r\nvar label2 = Ti.UI.createLabel({\r\n text: \"Custom Overlay Camera\"\r\n});\r\n\r\nlabel1.applyProperties(props);\r\nlabel2.applyProperties(props);\r\n\r\nlabel1.addEventListener(\"click\", defaultCameraClick);\r\nlabel2.addEventListener(\"click\", overlayCameraClick);\r\n\r\nwin.add(label1);\r\nwin.add(label2);\r\nwin.open();\r\n\r\nfunction defaultCameraClick() {\r\n Ti.Media.showCamera({\r\n mediaTypes: [Ti.Media.MEDIA_TYPE_PHOTO],\r\n success: success,\r\n cancel: cancel,\r\n });\r\n}\r\n\r\nfunction overlayCameraClick() {\r\n var overlayContainer = Ti.UI.createView({\r\n height: Ti.UI.FILL,\r\n width: Ti.UI.FILL,\r\n });\r\n\r\n var overlayCloseButton = Ti.UI.createLabel({\r\n height: Ti.UI.SIZE,\r\n width: Ti.UI.SIZE,\r\n backgroundColor: \"red\",\r\n text: \"CLOSE\",\r\n });\r\n\r\n overlayCloseButton.addEventListener('click', function() {\r\n Ti.Media.hideCamera();\r\n });\r\n\r\n overlayContainer.add(overlayCloseButton);\r\n\r\n Ti.Media.showCamera({\r\n overlay: overlayContainer,\r\n mediaTypes: [Ti.Media.MEDIA_TYPE_PHOTO],\r\n showControls: false,\r\n success: success,\r\n cancel: cancel,\r\n });\r\n}\r\n\r\nfunction success() {\r\n Ti.API.info(\"SUCCESS\");\r\n}\r\n\r\nfunction cancel() {\r\n Ti.API.info(\"CANCEL\");\r\n}\r\n{code}", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-11-11T08:26:30.000+0000", "updated": "2016-11-11T12:51:35.000+0000" }, { "id": "415715", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket with reference to the previous comments.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-24T18:57:13.000+0000", "updated": "2017-03-24T18:57:13.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }