{ "id": "87058", "key": "TIMOB-7830", "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": "12097", "description": "", "name": "Sprint 2012-05", "archived": true, "released": true, "releaseDate": "2012-03-11" }, { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" }, { "id": "13270", "description": "Release 1.8 Service Pack 3 (CI for 1_8_X)", "name": "Release 1.8.3", "archived": true, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-03-30T21:58:31.000+0000", "created": "2012-02-27T17:19:08.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "SupportTeam", "module_toolbar", "qe-testadded" ], "versions": [ { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" }, { "id": "12677", "description": "Release 1.8 Service Pack 1", "name": "Release 1.8.1", "archived": true, "released": true, "releaseDate": "2012-01-31" } ], "issuelinks": [ { "id": "15431", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "83399", "key": "TIMOB-6463", "fields": { "summary": "iOS:JavaScript Object is incorrectly garbage collected.", "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" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-11-07T05:20:58.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": "h3. Issue\r\n-keyboardToolbar hides then shows when moving from one textField to another while the keyboard remains up\r\n-after selecting a different textField, when you come back to the first, the buttons are gone from the keyboardToolbar.\r\n\r\nh3. Repor Steps\r\n-Build code below\r\n-Click on the top textField, then the second, then the third, then back to the first.\r\n-You will see the toolbar hide and show, then lose all of its buttons on the fourth focus.\r\n\r\nh3. Code\r\n{code:title=app.js}\r\nvar win1 = Titanium.UI.createWindow({backgroundColor:'#fff'});\r\n\r\nvar send = Titanium.UI.createButton({\r\ntitle : 'Send',\r\nstyle : Titanium.UI.iPhone.SystemButtonStyle.DONE,\r\n});\r\n\r\nvar camera = Titanium.UI.createButton({\r\nsystemButton : Titanium.UI.iPhone.SystemButton.CAMERA,\r\n});\r\n\r\nvar cancel = Titanium.UI.createButton({\r\nsystemButton : Titanium.UI.iPhone.SystemButton.CANCEL\r\n});\r\n\r\nvar flexSpace = Titanium.UI.createButton({\r\nsystemButton : Titanium.UI.iPhone.SystemButton.FLEXIBLE_SPACE\r\n});\r\n\r\n\r\nvar textfield1 = Titanium.UI.createTextField({\r\nhintText : 'Focus to see keyboard with toolbar',\r\nheight : 35,\r\nwidth : 300,\r\ntop : 50,\r\nborderStyle : Titanium.UI.INPUT_BORDERSTYLE_BEZEL,\r\nkeyboardToolbar : [cancel, flexSpace, camera, flexSpace, send],\r\nkeyboardToolbarColor : '#999',\r\nkeyboardToolbarHeight : 40,\r\n});\r\n\r\nvar textfield2 = Titanium.UI.createTextField({\r\nhintText : 'Focus to see keyboard with toolbar',\r\nheight : 35,\r\nwidth : 300,\r\ntop : 100,\r\nborderStyle : Titanium.UI.INPUT_BORDERSTYLE_BEZEL,\r\nkeyboardToolbar : [cancel, flexSpace, camera, flexSpace, send],\r\nkeyboardToolbarColor : '#999',\r\nkeyboardToolbarHeight : 40,\r\n});\r\n\r\nvar textfield3 = Titanium.UI.createTextField({\r\nhintText : 'Focus to see keyboard with toolbar',\r\nheight : 35,\r\nwidth : 300,\r\ntop : 150,\r\nborderStyle : Titanium.UI.INPUT_BORDERSTYLE_BEZEL,\r\nkeyboardToolbar : [cancel, flexSpace, camera, flexSpace, send],\r\nkeyboardToolbarColor : '#999',\r\nkeyboardToolbarHeight : 40,\r\n});\r\n\r\nwin1.add(textfield1);\r\nwin1.add(textfield2);\r\nwin1.add(textfield3);\r\n\r\nwin1.open();\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "iOS: keyboardToolbar behavior issues with multiple text fields", "creator": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "iOS 4.3 Simulator", "comment": { "comments": [ { "id": "184489", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Bug is still valid; issue is separate from TIMOB-6463 and not resolved by it.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-28T09:55:32.000+0000", "updated": "2012-02-28T09:55:32.000+0000" }, { "id": "184841", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Assigning back to Neeraj to put into the pool, I will not have time to address this for this sprint.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-01T16:02:59.000+0000", "updated": "2012-03-01T16:02:59.000+0000" }, { "id": "185117", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "What's going on is that we might have to disallow button reuse like this, because it can lead to a lot of edge cases. Essentially, they want to add one view to two locations, which iOS doesn't support.", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-05T19:06:50.000+0000", "updated": "2012-03-05T19:06:50.000+0000" }, { "id": "185298", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "So. Funny story. I was researching a solution where we reuse a Ti.UI.iOS.Toolbar, sharing it across the three textfields. And it turns out that there was a partial implementation that needed fixing. So using three arrays is still not supported for reasons above, but sharing a toolbar will now work, which actually makes life easier because the toolbar won't pop down and up. The new sample code is:\r\n{code}\r\nvar win1 = Titanium.UI.createWindow({backgroundColor:'#fff'});\r\n\r\nvar send = Titanium.UI.createButton({\r\ntitle : 'Send',\r\nstyle : Titanium.UI.iPhone.SystemButtonStyle.DONE,\r\n});\r\n\r\nvar camera = Titanium.UI.createButton({\r\nsystemButton : Titanium.UI.iPhone.SystemButton.CAMERA,\r\n});\r\n\r\nvar cancel = Titanium.UI.createButton({\r\nsystemButton : Titanium.UI.iPhone.SystemButton.CANCEL\r\n});\r\n\r\nvar flexSpace = Titanium.UI.createButton({\r\nsystemButton : Titanium.UI.iPhone.SystemButton.FLEXIBLE_SPACE\r\n});\r\n\r\nvar toolbar1 = Titanium.UI.iOS.createToolbar({\r\n\titems:[cancel, flexSpace, camera, flexSpace, send],\r\n\tborderTop:true,\r\n\tborderBottom:false,\r\n\ttranslucent:true,\r\n\tbarColor:'#999'\r\n});\r\n\r\nvar textfield1 = Titanium.UI.createTextField({\r\nhintText : 'Focus to see keyboard with toolbar',\r\nheight : 35,\r\nwidth : 300,\r\ntop : 50,\r\nborderStyle : Titanium.UI.INPUT_BORDERSTYLE_BEZEL,\r\nkeyboardToolbar : toolbar1,\r\n});\r\n\r\nvar textfield2 = Titanium.UI.createTextField({\r\nhintText : 'Focus to see keyboard with toolbar',\r\nheight : 35,\r\nwidth : 300,\r\ntop : 100,\r\nborderStyle : Titanium.UI.INPUT_BORDERSTYLE_BEZEL,\r\nkeyboardToolbar : toolbar1,\r\n});\r\n\r\nvar textfield3 = Titanium.UI.createTextField({\r\nhintText : 'Focus to see keyboard with toolbar',\r\nheight : 35,\r\nwidth : 300,\r\ntop : 150,\r\nborderStyle : Titanium.UI.INPUT_BORDERSTYLE_BEZEL,\r\nkeyboardToolbar : toolbar1,\r\n});\r\n\r\nwin1.add(textfield1);\r\nwin1.add(textfield2);\r\nwin1.add(textfield3);\r\n\r\nwin1.open();\r\n{code}", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-06T20:16:40.000+0000", "updated": "2012-03-06T20:16:40.000+0000" }, { "id": "186197", "author": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing issue\r\n\r\nTested with Ti Studio build 1.0.9.201202141208\r\nTi Mob SDK 2.0.0.v20120312213243\r\nOSX Lion 10.7.3\r\niPhone 4S\r\n\r\nTesting with Blain's new sample code and the issue does not exist", "updateAuthor": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-13T09:10:56.000+0000", "updated": "2012-03-13T09:10:56.000+0000" }, { "id": "202168", "author": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing issue:\r\n\r\nWas reopened after adding/removing labels.\r\n\r\nTested with Ti Studio build 2.1.0.201206251749\r\nTi Mobile SDK 2.1.0.v20120628121617 hash r6e3cab6a\r\nOSX Lion 10.7.3\r\niPhone 4 OS 5.0.1", "updateAuthor": { "name": "mpettiford", "key": "mpettiford", "displayName": "Michael Pettiford", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-07-09T13:33:47.000+0000", "updated": "2012-07-09T13:33:47.000+0000" }, { "id": "278580", "author": { "name": "shameerj", "key": "shameerj", "displayName": "Shameer Jan", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Anvil testcase PR https://github.com/appcelerator/titanium_mobile/pull/4768", "updateAuthor": { "name": "shameerj", "key": "shameerj", "displayName": "Shameer Jan", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-11-07T05:20:58.000+0000", "updated": "2013-11-07T05:20:58.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }