{ "id": "115439", "key": "TIMOB-14154", "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": null, "resolutiondate": null, "created": "2013-06-04T09:27:57.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "layout", "rotation", "splitview", "splitwindow", "tabgroup" ], "versions": [ { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "issuelinks": [], "assignee": null, "updated": "2018-02-28T20:03:52.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "*Problem description*\r\nIn my application I have a tabgroup. Each tab contains a SplitView that, inside, contains two navigation group (one for the detailwin and one for the masterwin). The problem is that the size of the window changes after the rotation of the device, or when you step from one tab to another.\r\n\r\n*Steps to reproduce*\r\n1. Run project in iPad simulator (portrait)\r\n2. Rotate right (to landscape)\r\n3. Switch to tab 2\r\n4. Switch back to tab 1\r\n5. Rotate right again (to portrait)\r\n6. Observe that the portrait window is now smaller\r\n\r\n1. Run project in iPad simulator (portrait)\r\n2. Switch to tab 2\r\n3. Switch back to tab 1\r\n4. Rotate right (to landscape)\r\n5. Observe that the landscape window is now larger\r\n\r\n*Test case*\r\nThis is a generic code that reproduces the problem:\r\n\r\n{code:javascript}\r\n// create tabgroup\r\nvar tg = Ti.UI.createTabGroup();\r\n\r\nvar data = [];\r\nfor (var i = 0; i < 30; i++)\r\n\tdata.push({\r\n\t\ttitle : \"Row n° \" + i\r\n\t})\r\n\r\n// TAB 1\r\n// create windows for splitwindow view\r\nvar masterWin1 = Ti.UI.createWindow({\r\n\ttitle : \"Master Win 1\"\r\n});\r\nvar detailWin1 = Ti.UI.createWindow({\r\n\ttitle : \"Detail Win 1\"\r\n});\r\n\r\nvar tv1 = Ti.UI.createTableView({\r\n\tdata : data,\r\n\tborderColor : \"red\",\r\n\tborderWidth : 10,\r\n\ttop : 10,\r\n\tbottom : 100,\r\n\tright : 10,\r\n\tleft : 10\r\n})\r\nvar tv2 = Ti.UI.createTableView({\r\n\tdata : data,\r\n\tborderColor : \"red\",\r\n\tborderWidth : 10,\r\n\ttop : 10,\r\n\tbottom : 100,\r\n\tright : 10,\r\n\tleft : 10\r\n})\r\nmasterWin1.add(tv1)\r\ndetailWin1.add(tv2);\r\n\r\n// create navigation group\r\nvar masterNav1 = Ti.UI.iPhone.createNavigationGroup({\r\n\twindow : masterWin1\r\n});\r\nvar detailNav1 = Ti.UI.iPhone.createNavigationGroup({\r\n\twindow : detailWin1\r\n});\r\n\r\n// create splitwindow view\r\nvar splitView1 = Titanium.UI.iPad.createSplitWindow({\r\n\tmasterView : masterNav1,\r\n\tdetailView : detailNav1\r\n});\r\nsplitView1.addEventListener('visible', function(e) {\r\n\tTi.API.info(JSON.stringify(e))\r\n\tif (e.view == 'detail') {\r\n\t\te.button.title = \"Master Win 1\";\r\n\t\tdetailWin1.leftNavButton = e.button;\r\n\t} else if (e.view == 'master') {\r\n\t\tdetailWin1.leftNavButton = null;\r\n\t}\r\n});\r\n\r\nvar tab1 = Titanium.UI.createTab({\r\n\ttitle : \"Tab 1\",\r\n\twindow : splitView1\r\n});\r\n\r\n// TAB 2\r\n// create windows for splitwindow view\r\nvar masterWin2 = Ti.UI.createWindow({\r\n\ttitle : \"Master Win 2\"\r\n});\r\nvar detailWin2 = Ti.UI.createWindow({\r\n\ttitle : \"Detail Win 2\"\r\n});\r\nvar tv3 = Ti.UI.createTableView({\r\n\tdata : data,\r\n\tborderColor : \"blue\",\r\n\tborderWidth : 10,\r\n\ttop : 10,\r\n\tbottom : 100,\r\n\tright : 10,\r\n\tleft : 10\r\n})\r\nvar tv4 = Ti.UI.createTableView({\r\n\tdata : data,\r\n\tborderColor : \"blue\",\r\n\tborderWidth : 10,\r\n\ttop : 10,\r\n\tbottom : 100,\r\n\tright : 10,\r\n\tleft : 10\r\n})\r\nmasterWin2.add(tv3)\r\ndetailWin2.add(tv4);\r\n\r\n// create navigation group\r\nvar masterNav2 = Ti.UI.iPhone.createNavigationGroup({\r\n\twindow : masterWin2\r\n});\r\nvar detailNav2 = Ti.UI.iPhone.createNavigationGroup({\r\n\twindow : detailWin2\r\n});\r\n\r\n// create splitwindow view\r\nvar splitView2 = Titanium.UI.iPad.createSplitWindow({\r\n\tmasterView : masterNav2,\r\n\tdetailView : detailNav2\r\n});\r\nsplitView2.addEventListener('visible', function(e) {\r\n\tTi.API.info(JSON.stringify(e))\r\n\tif (e.view == 'detail') {\r\n\t\te.button.title = \"Master Win 2\";\r\n\t\tdetailWin2.leftNavButton = e.button;\r\n\t} else if (e.view == 'master') {\r\n\t\tdetailWin2.leftNavButton = null;\r\n\t}\r\n});\r\n\r\nvar tab2 = Titanium.UI.createTab({\r\n\ttitle : \"Tab 2\",\r\n\twindow : splitView2\r\n});\r\n\r\n// add tabs to tab tabgroup and open\r\ntg.addTab(tab1);\r\ntg.addTab(tab2);\r\ntg.open();\r\n{code} ", "attachment": [], "flagged": false, "summary": "iOS: SplitWindow inside TabGroup layout problems on rotation", "creator": { "name": "astrovicapps", "key": "astrovicapps", "displayName": "Vittorio Sorbera", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "astrovicapps", "key": "astrovicapps", "displayName": "Vittorio Sorbera", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Titanium Studio 3.1.0\r\nTitanium SDK 3.1.0 GA\r\nMAC OSX 10.7.5\r\niPad", "comment": { "comments": [ { "id": "256691", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and confirmed on iPad 6 simulator with Ti SDK 3.1 GA and 3.2 CI.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-07T18:51:27.000+0000", "updated": "2013-06-07T18:51:27.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }