{ "id": "119125", "key": "TIMOB-14964", "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": [ { "id": "15646", "description": "2013 Sprint 18", "name": "2013 Sprint 18", "archived": true, "released": true, "releaseDate": "2013-09-06" }, { "id": "15690", "description": "2013 Sprint 18 API", "name": "2013 Sprint 18 API", "archived": true, "released": true, "releaseDate": "2013-09-06" }, { "id": "15593", "description": "Release 3.1.3", "name": "Release 3.1.3", "archived": true, "released": true, "releaseDate": "2013-09-18" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-08-28T20:18:44.000+0000", "created": "2013-08-27T18:01:50.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2013-08-28T22:06:37.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": "This bug only occurs on iOS 6 SDK.(Can be reproduced on Simulator also.)\r\n\r\nh4.Steps to Reproduce\r\n\r\n1. Copy the following code into app.js\r\n{code}\r\nSplitViewNav = {};\r\n\r\n// WINDOWS\r\nSplitViewNav.masterWindow = Ti.UI.createWindow({title:'Master',backgroundColor:'red'});\r\nSplitViewNav.detailWindow = Ti.UI.createWindow({title:'Detail',backgroundColor:'#336699'});\r\n\r\n// MASTER NAV GROUP\r\nSplitViewNav.masterNav = Ti.UI.iPhone.createNavigationGroup({\r\n\twindow:SplitViewNav.masterWindow\r\n});\r\n\r\n// DETAIL NAV GROUP\r\nSplitViewNav.detailNav = Ti.UI.iPhone.createNavigationGroup({\r\n\twindow:SplitViewNav.detailWindow\r\n});\r\n\r\n// SPLIT VIEW\r\nSplitViewNav.splitView = Titanium.UI.iPad.createSplitWindow({\r\n\tmasterView:SplitViewNav.masterNav,\r\n\tdetailView:SplitViewNav.detailNav,\r\n});\r\n\r\n\r\n// MASTER BUTTON\r\nSplitViewNav.masterButton = Ti.UI.createButton({\r\n\ttitle:'Open Window',\r\n\theight:50,\r\n\twidth:200\r\n});\r\nSplitViewNav.masterButton.addEventListener('click', function()\r\n{\r\n\tvar w = Ti.UI.createWindow({backgroundColor:'#ff9900'});\r\n\tvar l = Ti.UI.createLabel({\r\n\t\ttext:'New Window',\r\n\t\tcolor:'white',\r\n\t\ttextAlign:'center'\r\n\t});\r\n\tw.add(l);\r\n\tw.addEventListener('blur', function() {\r\n\t\tTitanium.UI.createAlertDialog({\r\n\t\t\ttitle:'Master blur',\r\n\t\t\tmessage:'You blurred the master window!'\r\n\t\t}).show();\r\n\t});\r\n\tSplitViewNav.masterNav.open(w,{animated:true});\r\n});\r\nSplitViewNav.masterWindow.add(SplitViewNav.masterButton);\r\n\r\n// DETAIL BUTTON\r\nSplitViewNav.detailButton = Ti.UI.createButton({\r\n\ttitle:'Open Window',\r\n\theight:50,\r\n\twidth:200,\r\n\ttextAlign:'center'\r\n});\r\nSplitViewNav.detailButton.addEventListener('click', function()\r\n{\r\n\tvar w = Ti.UI.createWindow({backgroundColor:'#fff'});\r\n\tvar b = Ti.UI.createButton({\r\n\t\ttitle:'Show modal',\r\n\t\twidth:150,\r\n\t\theight:40\r\n\t});\r\n\tw.add(b);\r\n\tb.addEventListener('click', function() {\r\n\t\tvar modal = Titanium.UI.createWindow({ \r\n\t\t\tbackgroundColor:'#336699', \r\n\t\t\ttitle:'Modal Window',\r\n\t\t\tbarColor:'black',\r\n\t\t\tmodal:true\r\n\t\t});\r\n\t\t\r\n\t\tvar bb = Ti.UI.createButton({\r\n\t\t\ttitle:'Dismiss modal',\r\n\t\t\twidth:150,\r\n\t\t\theight:40\r\n\t\t});\r\n\t\tbb.addEventListener('click', function() {\r\n\t\t\tmodal.close();\r\n\t\t});\r\n\t\t\r\n\t\tmodal.add(bb);\r\n\t\tmodal.open();\r\n\t});\r\n\t\r\n\tw.addEventListener('blur', function() {\r\n\t\tTitanium.UI.createAlertDialog({\r\n\t\t\ttitle:'Detail blur',\r\n\t\t\tmessage:'You blurred the detail window!'\r\n\t\t}).show();\r\n\t});\r\n\tSplitViewNav.detailNav.open(w,{animated:true});\r\n});\r\nSplitViewNav.detailWindow.add(SplitViewNav.detailButton);\r\n\r\nvar done = Titanium.UI.createButton({\r\n\ttitle:'Flash Popover'\r\n});\r\n\r\nSplitViewNav.detailWindow.setRightNavButton(done);\r\ndone.addEventListener('click',function()\r\n{\r\n\tSplitViewNav.splitView.setMasterPopupVisible(true);\r\n\tsetTimeout(function()\r\n\t{\r\n\t\tSplitViewNav.splitView.setMasterPopupVisible(false);\r\n\t},3000);\r\n});\r\n\r\n\r\nSplitViewNav.open = function()\r\n{\r\n\tTi.API.info('in open for split view nav');\r\n\tSplitViewNav.splitView.open();\t\r\n};\r\n\r\nSplitViewNav.splitView.addEventListener('visible', function(e) {\r\n\tTi.API.log('View: '+e.view);\r\n\tif (e.view == 'detail') {\r\n\t\te.button.title = \"Popover\";\r\n\t\tSplitViewNav.detailWindow.leftNavButton = e.button;\r\n\t\tTi.API.log('Set button');\r\n\t}\r\n\telse if (e.view == 'master') {\r\n\t\tSplitViewNav.detailWindow.leftNavButton = null;\r\n\t\tTi.API.log('Removed button');\r\n\t}\r\n});\r\n\r\n// TEST CLOSE BUTTON\r\nSplitViewNav.closeButton = Ti.UI.createButton({\r\n\ttitle:'Close Test',\r\n\theight:50,\r\n\twidth:200,\r\n\ttop:30\r\n});\r\nSplitViewNav.closeButton.addEventListener('click', function()\r\n{\r\n\tTi.API.info('Closing currrent Test');\r\n\tSplitViewNav.splitView.close();\r\n});\r\nSplitViewNav.detailWindow.add(SplitViewNav.closeButton);\r\nSplitViewNav.open();\r\n\r\n{code}\r\n2. Run the app.\r\n\r\nh4.Actual Behavior.\r\n\r\nSee attachment for actual behavior. \r\n\r\nh4.Expected behavior \r\n\r\nBoth the master and detail windows should layout out properly extending to the statusbar. \r\n\r\nThis bug only occurs with the iPHone.NavigationGroup and does not occur with the new NavWindow.\r\n\r\nh4.NavWindow code used for testing. \r\n{code}\r\n\tSplitViewNav = {};\r\n\r\n\t// WINDOWS\r\n\tSplitViewNav.masterWindow = Ti.UI.createWindow({title:'Master',backgroundColor:'red'});\r\n\tSplitViewNav.detailWindow = Ti.UI.createWindow({title:'Detail',backgroundColor:'#336699'});\r\n\r\n\t// MASTER NAV GROUP\r\n\tSplitViewNav.masterNav = Ti.UI.iOS.createNavWindow({\r\n\t\twindow:SplitViewNav.masterWindow\r\n\t});\r\n\r\n\t// DETAIL NAV GROUP\r\n\tSplitViewNav.detailNav = Ti.UI.iOS.createNavWindow({\r\n\t\twindow:SplitViewNav.detailWindow\r\n\t});\r\n\r\n\t// SPLIT VIEW\r\n\tSplitViewNav.splitView = Titanium.UI.iPad.createSplitWindow({\r\n\t\tmasterView:SplitViewNav.masterNav,\r\n\t\tdetailView:SplitViewNav.detailNav,\r\n\t});\r\n\r\n\r\n\t// MASTER BUTTON\r\n\tSplitViewNav.masterButton = Ti.UI.createButton({\r\n\t\ttitle:'Open Window',\r\n\t\theight:50,\r\n\t\twidth:200\r\n\t});\r\n\tSplitViewNav.masterButton.addEventListener('click', function()\r\n\t{\r\n\t\tvar w = Ti.UI.createWindow({backgroundColor:'#ff9900'});\r\n\t\tvar l = Ti.UI.createLabel({\r\n\t\t\ttext:'New Window',\r\n\t\t\tcolor:'white',\r\n\t\t\ttextAlign:'center'\r\n\t\t});\r\n\t\tw.add(l);\r\n\t\tw.addEventListener('blur', function() {\r\n\t\t\tTitanium.UI.createAlertDialog({\r\n\t\t\t\ttitle:'Master blur',\r\n\t\t\t\tmessage:'You blurred the master window!'\r\n\t\t\t}).show();\r\n\t\t});\r\n\t\tSplitViewNav.masterNav.push(w,{animated:true});\r\n\t});\r\n\tSplitViewNav.masterWindow.add(SplitViewNav.masterButton);\r\n\r\n\t// DETAIL BUTTON\r\n\tSplitViewNav.detailButton = Ti.UI.createButton({\r\n\t\ttitle:'Open Window',\r\n\t\theight:50,\r\n\t\twidth:200,\r\n\t\ttextAlign:'center'\r\n\t});\r\n\tSplitViewNav.detailButton.addEventListener('click', function()\r\n\t{\r\n\t\tvar w = Ti.UI.createWindow({backgroundColor:'#fff'});\r\n\t\tvar b = Ti.UI.createButton({\r\n\t\t\ttitle:'Show modal',\r\n\t\t\twidth:150,\r\n\t\t\theight:40\r\n\t\t});\r\n\t\tw.add(b);\r\n\t\tb.addEventListener('click', function() {\r\n\t\t var modal = Titanium.UI.createWindow({ \r\n\t\t backgroundColor:'#336699', \r\n\t\t title:'Modal Window',\r\n\t\t barColor:'black',\r\n\t\t modal:true\r\n\t\t });\r\n\t\t \r\n\t\t var bb = Ti.UI.createButton({\r\n\t\t \ttitle:'Dismiss modal',\r\n\t\t \twidth:150,\r\n\t\t \theight:40\r\n\t\t });\r\n\t\t bb.addEventListener('click', function() {\r\n\t\t \tmodal.close();\r\n\t\t });\r\n\t\t \r\n\t\t modal.add(bb);\r\n\t\t modal.open();\r\n\t\t});\r\n\t\t\r\n\t\tw.addEventListener('blur', function() {\r\n\t\t\tTitanium.UI.createAlertDialog({\r\n\t\t\t\ttitle:'Detail blur',\r\n\t\t\t\tmessage:'You blurred the detail window!'\r\n\t\t\t}).show();\r\n\t\t});\r\n\t\tSplitViewNav.detailNav.push(w,{animated:true});\r\n\t});\r\n\tSplitViewNav.detailWindow.add(SplitViewNav.detailButton);\r\n\r\n\tvar done = Titanium.UI.createButton({\r\n\t \ttitle:'Flash Popover'\r\n\t});\r\n\r\n\tSplitViewNav.detailWindow.setRightNavButton(done);\r\n\tdone.addEventListener('click',function()\r\n\t{\r\n\t\tSplitViewNav.splitView.setMasterPopupVisible(true);\r\n\t\tsetTimeout(function()\r\n\t\t{\r\n\t\t\tSplitViewNav.splitView.setMasterPopupVisible(false);\r\n\t\t},3000);\r\n\t});\r\n\r\n\r\n\tSplitViewNav.open = function()\r\n\t{\r\n\t\tTi.API.info('in open for split view nav');\r\n\t\tSplitViewNav.splitView.open();\t\r\n\t};\r\n\r\n\tSplitViewNav.splitView.addEventListener('visible', function(e) {\r\n\t\tTi.API.log('View: '+e.view);\r\n\t\tif (e.view == 'detail') {\r\n\t\t\te.button.title = \"Popover\";\r\n\t\t\tSplitViewNav.detailWindow.leftNavButton = e.button;\r\n\t\t\tTi.API.log('Set button');\r\n\t\t}\r\n\t\telse if (e.view == 'master') {\r\n\t\t\tSplitViewNav.detailWindow.leftNavButton = null;\r\n\t\t\tTi.API.log('Removed button');\r\n\t\t}\r\n\t});\r\n\t\r\n\t// TEST CLOSE BUTTON\r\n\tSplitViewNav.closeButton = Ti.UI.createButton({\r\n\t\ttitle:'Close Test',\r\n\t\theight:50,\r\n\t\twidth:200,\r\n\t\ttop:30\r\n\t});\r\n\tSplitViewNav.closeButton.addEventListener('click', function()\r\n\t{\r\n\t\tTi.API.info('Closing currrent Test');\r\n\t\tSplitViewNav.splitView.close();\r\n\t});\r\n\tSplitViewNav.detailWindow.add(SplitViewNav.closeButton);\r\n\tSplitViewNav.open();\r\n\r\n{code}", "attachment": [ { "id": "41893", "filename": "SplitWIndow in Landscape.png", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-08-27T18:01:50.000+0000", "size": 72705, "mimeType": "image/png" }, { "id": "41894", "filename": "SplitWindow in Portrait.png", "author": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-08-27T18:01:50.000+0000", "size": 67029, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: SplitWindow with NavigationGroup does not layout properly after Windows refactor", "creator": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "srahim", "key": "srahim", "displayName": "Sabil Rahim", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Xcode 5 DP 5 , iPad 4 with iOS 6", "comment": { "comments": [ { "id": "268659", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "https://github.com/appcelerator/titanium_mobile/pull/4615", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-08-28T18:23:18.000+0000", "updated": "2013-08-28T18:23:18.000+0000" }, { "id": "268661", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Backport to 3_1_X\nhttps://github.com/appcelerator/titanium_mobile/pull/4616", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-08-28T18:26:05.000+0000", "updated": "2013-08-28T18:26:05.000+0000" }, { "id": "268741", "author": { "name": "lokeshchdhry", "key": "lokeshchdhry", "displayName": "Lokesh Choudhary", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix & the master and detail windows layout out properly extending to the status bar as expected.\r\nClosing.\r\n\r\nEnvironment:\r\nAppcel Studio : 3.1.3.201308252005\r\nTi SDK : 3.1.3.v20130828133119\r\nMac OSX : 10.8.4\r\nIpad4 - 6.0.1\r\nXcode 5 beta 6", "updateAuthor": { "name": "lokeshchdhry", "key": "lokeshchdhry", "displayName": "Lokesh Choudhary", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-08-28T22:06:37.000+0000", "updated": "2013-08-28T22:06:37.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }