{ "id": "94202", "key": "AC-2776", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2012-07-31T05:22:48.000+0000", "created": "2012-06-30T11:42:25.000+0000", "labels": [ "100%", "iOS", "inconsistency", "platformHeight", "serviceBar" ], "versions": [], "issuelinks": [], "assignee": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-03-08T07:47:41.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": "14551", "name": "Studio", "description": "Please enter tickets related to Titanium Studio here." } ], "description": "On iOS simulator and device Ti.Platform.displayCaps.platformHeight does not calculate the always present 'service bar' at the top of the screen which becomes an issue when attempting to use more than one view in an absolute layout.\r\n\r\nMy previously working solution, Math.round( ((Ti.Platform.displayCaps.platformHeight - 20)/100) * percentageNumber ), where 20 is the service bar's height on non-retina screens has become unusable when trying to resize a map view, and I would need re-write these allowances for every instance since the service bar height and appearance changes, (retina, non-retina, android)\r\n\r\nSteps to Replicate:\r\n1. Create a window, (with navBarHidden: false in my case, but should not make a difference)\r\n2. Add 3 views to be split amongst the Ti.Platform.displayCaps.platformHeight \r\n\r\ncustomTabBar = createView at bottom:0, height:'10%'\r\nscrollableView = createScrollableView at top:0, height:'40%'\r\nmapView = Map.createView at top:'40%', height'50%'\r\n(add to window map last so that you can see the difference)\r\n\r\nResult:\r\n100 percent of screen used but map view overlaps view at bottom:0.\r\nThis becomes more evident when the same customTabBar and scrollableView are placed side by side, splitting the screen at height: '90%, where the result is the map view overlapping and scrollable view much closer to target.\r\n\r\nsince I do not want to continually load the map with every scrollableView change and resize, which occurs with vertical split to horizontal split of the screen, the resizing and movement of multiple views in an absolute layout with a custom tab or nav bar is often necessary. Keeping the map at a lower zIndex makes the map's touch events unreachable.\r\n\r\nolder post, slightly different layout, same issue:\r\nhttp://developer.appcelerator.com/question/137321/platformheight--100-possible-dividing-issue-on-ios\r\n", "attachment": [], "flagged": false, "summary": "iOS Ti.Platform.displayCaps.platformHeight inconsistency", "creator": { "name": "key", "key": "key", "displayName": "K.", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "key", "key": "key", "displayName": "K.", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Titanium SDK 2.0.2GA\r\niOS Simulator 5.1\r\niOS device 3GS", "comment": { "comments": [ { "id": "208073", "author": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hello,\r\n\r\nI tried to replicate the issue, but with the following code I do not see any overlap. Is your code supposed to have anything different?\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n navBarHidden: true,\r\n backgroundColor: '#000'\r\n});\r\n\r\nvar customTabBar = Ti.UI.createView({\r\n\tbottom: 0,\r\n\theight: '10%',\r\n\tleft: 30,\r\n\tbackgroundColor: 'yellow'\r\n});\r\nwin.add(customTabBar);\r\n\r\nvar scrollableView = Ti.UI.createScrollableView({\r\n\ttop: 0,\r\n\tleft: 10,\r\n\theight: '40%',\r\n\tbackgroundColor: 'blue'\r\n});\r\nwin.add(scrollableView);\r\n\r\nvar mapView = Ti.Map.createView({\r\n\ttop: '40%',\r\n\theight: '50%',\r\n\tright:50 \r\n});\r\nwin.add(mapView);\r\n \r\nwin.open();\r\n{code}", "updateAuthor": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-07-17T09:43:27.000+0000", "updated": "2012-07-17T09:43:27.000+0000" }, { "id": "208857", "author": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hello,\r\n\r\nDid you fix the problem? Is my code different from what you are trying on your side?\r\n\r\nThanks", "updateAuthor": { "name": "dcassenti", "key": "dcassenti", "displayName": "Davide Cassenti", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-07-23T07:32:17.000+0000", "updated": "2012-07-23T07:32:17.000+0000" }, { "id": "286392", "author": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing since we have not heard back from the reporter. A functional sample has been posted as well.", "updateAuthor": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-01-01T01:57:37.000+0000", "updated": "2014-01-01T01:57:37.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }