{ "id": "120245", "key": "TIMOB-15297", "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": "15691", "description": "2013 Sprint 19", "name": "2013 Sprint 19", "archived": true, "released": true, "releaseDate": "2013-09-20" }, { "id": "15693", "description": "2013 Sprint 19 API", "name": "2013 Sprint 19 API", "archived": true, "released": true, "releaseDate": "2013-09-20" } ], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2013-09-20T19:23:13.000+0000", "created": "2013-09-20T11:36:03.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "ios7", "regression", "triage" ], "versions": [ { "id": "15593", "description": "Release 3.1.3", "name": "Release 3.1.3", "archived": true, "released": true, "releaseDate": "2013-09-18" } ], "issuelinks": [], "assignee": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-29T16:38: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": "KeyboardToolbar of textfields disappears while toggling between the textfields.\r\n\r\n*Steps To Reproduce*:\r\n\r\n1. Copy and paste the below code in newly created Titanium project:\r\n{code}\r\n\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor:'white'\r\n});\r\n\r\n var previous = Titanium.UI.createButton({\r\n\ttitle :'Previous',\r\n   style :Titanium.UI.iPhone.SystemButtonStyle.DONE,\r\n\t});\r\n\r\nvar next = Titanium.UI.createButton({\r\n\ttitle :'Next',\r\n    style :Titanium.UI.iPhone.SystemButtonStyle.DONE,\r\n\t});\r\n\r\nvar username = Titanium.UI.createTextField({\r\n\t\t\twidth : '88.1%',\r\n\t\t\theight : '8.9%',\r\n\t\t\thintText : 'NT USERNAME',\t\t\r\n\t\t\ttop : 50,\r\n\t\t\tborderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,\r\n\t\t\tautocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n\t\t\tkeyboardToolbar : [previous, next]\r\n\t\t});\r\nvar password = Titanium.UI.createTextField({\r\n\t\t\twidth : '88.1%',\r\n\t\t\theight : '8.9%',\r\n\t\t\thintText : 'NT PASSWORD',\t\t\r\n\t\t\ttop : 100,\r\n\t\t\tborderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,\r\n\t\t\tpasswordMask : true,\r\n\t\t\tautocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n\t\t\tkeyboardToolbar : [previous, next]\r\n\t\t});\r\n \r\n previous.addEventListener('click', function (e) { \r\n \tusername.focus(); \r\n \t\r\n \t\r\n});\r\n next.addEventListener('click', function (e) {\r\n \t password.focus(); \r\n \t \t\r\n \t});\r\n\r\n username.addEventListener('focus', function (e) {\r\n \t \r\n previous.enabled=false; next.enabled=true; \r\n \r\n });\r\n \r\n password.addEventListener('focus', function (e) { \r\n previous.enabled=true; next.enabled=false;\r\n \r\n \r\n });\r\n\t\r\nwin.add(username);\r\nwin.add(password);\r\n\r\nwin.open();\r\n{code}\r\n\r\n2. Run the app on iOS7 and toggle between textfields.\r\n\r\n*Note* :This behavior is specifically on iOS7. This issue can not be seen on iOS6 and SDK 3.1.0.Find the attachment of blank KeyboardToolBar after toggling between textFields.", "attachment": [ { "id": "42644", "filename": "Screen Shot 2013-09-20 at 5.03.48 PM.png", "author": { "name": "mpathak", "key": "mpathak", "displayName": "Meenakshi Pathak", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-20T11:36:03.000+0000", "size": 46630, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS7: KeyboardToolbar disappears when toggling between textfields", "creator": { "name": "mpathak", "key": "mpathak", "displayName": "Meenakshi Pathak", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "mpathak", "key": "mpathak", "displayName": "Meenakshi Pathak", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "iOS 7, TiSDK 3.1.3", "comment": { "comments": [ { "id": "272186", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "You can not use the same view proxies in two different toolbars. You can however use the same toolbar on two different view proxies (although that too is considered bad UI design)\r\n\r\nCreate a toolbar explicitly and set it to the textfields. To get the toolbar switching effect use 4 buttons or 2 toolbars.\r\n\r\nCode with single toolbar:\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor:'white'\r\n});\r\n \r\nvar previous = Titanium.UI.createButton({\r\n title :'Previous',\r\n style :Titanium.UI.iPhone.SystemButtonStyle.DONE,\r\n });\r\n \r\nvar next = Titanium.UI.createButton({\r\n title :'Next',\r\n style :Titanium.UI.iPhone.SystemButtonStyle.DONE,\r\n });\r\n\r\nvar toolbar = Titanium.UI.iOS.createToolbar({\r\n items:[previous,next],\r\n borderTop:true,\r\n borderBottom:false\r\n}); \r\n\r\nvar username = Titanium.UI.createTextField({\r\n width : '88.1%',\r\n height : '8.9%',\r\n hintText : 'NT USERNAME', \r\n top : 50,\r\n borderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,\r\n autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n keyboardToolbar : toolbar\r\n });\r\nvar password = Titanium.UI.createTextField({\r\n width : '88.1%',\r\n height : '8.9%',\r\n hintText : 'NT PASSWORD', \r\n top : 100,\r\n borderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,\r\n passwordMask : true,\r\n autocapitalization : Titanium.UI.TEXT_AUTOCAPITALIZATION_NONE,\r\n keyboardToolbar : toolbar\r\n });\r\n \r\nprevious.addEventListener('click', function (e) { \r\n username.focus(); \r\n});\r\n\r\nnext.addEventListener('click', function (e) {\r\n password.focus(); \r\n});\r\n\r\nusername.addEventListener('focus', function (e) {\r\n previous.enabled=false; next.enabled=true; \r\n});\r\n \r\npassword.addEventListener('focus', function (e) { \r\n previous.enabled=true; next.enabled=false;\r\n});\r\n \r\nwin.add(username);\r\nwin.add(password);\r\n \r\nwin.open();\r\n{code}\r\n\r\n", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-09-20T19:23:13.000+0000", "updated": "2013-09-20T19:23:13.000+0000" }, { "id": "416180", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as invalid.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-29T16:38:37.000+0000", "updated": "2017-03-29T16:38:37.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }