{ "id": "165505", "key": "TIMOB-24352", "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": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-04-04T21:51:01.000+0000", "created": "2017-01-28T15:45:01.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "ios", "listview", "maskedimage", "template" ], "versions": [ { "id": "18154", "name": "Release 6.0.1", "archived": false, "released": true, "releaseDate": "2016-12-21" } ], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-05-10T04:15:10.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": "All of a sudden, I can't use MaskedImages inside a ListView template.\r\n\r\nThis has never been an issue earlier. This happened from no where. It works perfectly fine in the Simulator, but not when I build to the device.\r\n\r\nIt's super easy to replicate, just create a listview, put a template item which uses a MaskedImage.\r\n\r\n{code:js}\r\n var spaceTemplate = function() {\r\n return {\r\n properties: {\r\n backgroundColor: \"transparent\",\r\n selectionStyle: Ti.UI.iOS.ListViewCellSelectionStyle.NONE,\r\n height: 10\r\n },\r\n childTemplates: [{\r\n type: 'Ti.UI.MaskedImage',\r\n properties: {\r\n width: 20,\r\n height: 20,\r\n tint: '#FFFFFF',\r\n image: \"/path-to-image.png\"\r\n }\r\n }]\r\n };\r\n };\r\n{code}\r\n\r\n*EDIT* by [~hansknoechel]: Changing ticket to also include other API's that are not available for ListView templates so far. ", "attachment": [], "flagged": false, "summary": "iOS: Add MaskedImage, BlurView, LivePhotoView and and ButtonBar API's to ListView template types", "creator": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Latest Ti Studio 4.8.1, CLI 6.0.1 GA", "closedSprints": [ { "id": 865, "state": "closed", "name": "2017 Sprint 07 SDK", "startDate": "2017-03-26T22:01:37.741Z", "endDate": "2017-04-09T22:01:00.000Z", "completeDate": "2017-04-10T15:40:13.586Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "405573", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey Mathias, thanks for the ticket! I can think of what's wrong there, but do you know un which version this worked? This ticket might be a good candidate for 6.0.2 as well :-).\r\n\r\n*EDIT*: Looking at [this snippet|https://github.com/appcelerator/titanium_mobile/blob/6_0_X/iphone/cli/commands/_build.js#L6013-L6026], I'm wondering how this could ever have worked. Those lines describe the valid ListItem template types. It would be OK to add {{USE_TI_UIMASKEDIMAGE}} to that list, but that would be an improvement. If this worked in 5.5.x or 6.0.0, I'll check again.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-29T09:44:45.000+0000", "updated": "2017-01-29T09:51:05.000+0000" }, { "id": "405576", "author": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It has worked with all previous versions. I had this struggle previously with ScrollableView inside a listview, which all of a sudden stopped to work. But that \"bug\" was fixed a couple of versions ago.\r\n\r\nThis occurs for me now with 6.0.1. I cant explain, but as I said, the exact thin happened earlier with scrollableview. Everything is fine in the simulator, as alwasy!", "updateAuthor": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-29T14:42:34.000+0000", "updated": "2017-01-29T14:42:34.000+0000" }, { "id": "405580", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "It was the same for the ScrollableView: It was not defined, so it was added. The \"workaround\" would be to use any Ti.UI.MaskedImage somewhere else. And I'm really sure that it did not work before, I diff'd the changes for that file back to 2015 (5.0.0.GA). Supporting it is no problem, but it's an improvement rather than a bug in that case.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-29T17:40:39.000+0000", "updated": "2017-01-29T17:40:39.000+0000" }, { "id": "405585", "author": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I understand! So is it possible to add it in the next release of the GA?", "updateAuthor": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-29T19:02:50.000+0000", "updated": "2017-01-29T19:02:50.000+0000" }, { "id": "405586", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "We can include it for 6.1.0 and also look out for other possible UI elements that could be considered in item templates. 6.0.2 would only match if it would be a regression for 6.0.0 / 6.0.1", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-29T19:08:49.000+0000", "updated": "2017-01-29T19:08:49.000+0000" }, { "id": "405587", "author": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Okey,\r\n\r\nwhen do you think 6.1.0 will be GA released?", "updateAuthor": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-29T19:22:47.000+0000", "updated": "2017-01-29T19:22:47.000+0000" }, { "id": "405588", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "No final date so far, probably march. But you can patch your SDK today, just replace the above lines with\r\n{code:js}\r\n\t\t\t'#ifdef USE_TI_UILISTVIEW',\r\n\t\t\t'#define USE_TI_UILABEL',\r\n\t\t\t'#define USE_TI_UIBUTTON',\r\n\t\t\t'#define USE_TI_UIIMAGEVIEW',\r\n\t\t\t'#define USE_TI_UIPROGRESSBAR',\r\n\t\t\t'#define USE_TI_UIACTIVITYINDICATOR',\r\n\t\t\t'#define USE_TI_UISWITCH',\r\n\t\t\t'#define USE_TI_UISLIDER',\r\n\t\t\t'#define USE_TI_UITEXTFIELD',\r\n\t\t\t'#define USE_TI_UITEXTAREA',\r\n\t\t\t'#define USE_TI_UISCROLLABLEVIEW',\r\n\t\t\t'#define USE_TI_UIIOSSTEPPER',\r\n\t\t\t'#define USE_TI_UIPICKER',\r\n\t\t\t'#define USE_TI_UIMASKEDIMAGE',\r\n\t\t\t'#endif'\r\n{code}\r\nin your SDK (~/Library/Application Support/Titanium/mobilesdk/osx/6.0.1.GA/iphone/cli/commands/_build.js).", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-29T19:56:45.000+0000", "updated": "2017-03-24T15:31:18.000+0000" }, { "id": "405589", "author": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Cool, thanks!", "updateAuthor": { "name": "oakleaf", "key": "oakleaf", "displayName": "Mathias Eklöf", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-29T20:14:31.000+0000", "updated": "2017-01-29T20:14:31.000+0000" }, { "id": "405590", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/8803\r\n\r\n(Test-Case coming)", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-29T21:03:49.000+0000", "updated": "2017-01-29T21:03:49.000+0000" }, { "id": "416310", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~hansknoechel] Test case ?\r\n", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-03-30T03:45:19.000+0000", "updated": "2017-03-30T03:45:19.000+0000" }, { "id": "416320", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Basically any list-view template with the above elements as a child-template. I'll come up with something today then.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-03-30T06:41:48.000+0000", "updated": "2017-03-30T06:41:48.000+0000" }, { "id": "416477", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Test-case (to be built to device from the packaged SDK):\r\n{code:js}\r\nvar win = Ti.UI.createWindow({\r\n backgroundColor: '#fff'\r\n});\r\n\r\nvar templates = {\r\n\t'ButtonBarTemplate': {\r\n\t\tchildTemplates: [{\r\n\t\t\ttype: 'Ti.UI.ButtonBar',\r\n\t\t\tproperties: {\r\n\t\t\t\tright: 10,\r\n\t\t\t\tlabels: ['One', 'Two', 'Three']\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\t'TabbedBarTemplate': {\r\n\t\tchildTemplates: [{\r\n\t\t\ttype: 'Ti.UI.iOS.TabbedBar',\r\n\t\t\tproperties: {\r\n\t\t\t\tright: 10,\r\n\t\t\t\tlabels: ['One', 'Two', 'Three'],\r\n\t\t\t\tindex: 1\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\t'BlurViewTemplate': {\r\n\t\tchildTemplates: [{\r\n\t\t\ttype: 'Ti.UI.ImageView',\r\n\t\t\tproperties: {\r\n\t\t\t\tright: 10,\r\n\t\t\t\timage: Ti.UI.createView({height: 100, width: 100, backgroundColor: 'red'}).toImage()\r\n\t\t\t}\r\n\t\t}, {\r\n\t\t\ttype: 'Ti.UI.iOS.BlurView',\r\n\t\t\tproperties: {\r\n\t\t\t\teffect: 0,\r\n\t\t\t\twidth: Ti.UI.FILL,\r\n\t\t\t\theight: Ti.UI.FILL\r\n\t\t\t}\r\n\t\t}]\r\n\t}\r\n};\r\n\r\nvar list = Ti.UI.createListView({\r\n\ttemplates: templates,\r\n\tsections: [Ti.UI.createListSection({\r\n\t\titems: [{\r\n\t\t\ttemplate: 'ButtonBarTemplate'\r\n\t\t},{\r\n\t\t\ttemplate: 'TabbedBarTemplate'\r\n\t\t},{\r\n\t\t\ttemplate: 'BlurViewTemplate',\r\n\t\t\tproperties: {\r\n\t\t\t\theight: 100\r\n\t\t\t}\r\n\t\t}]\r\n\t})]\r\n});\r\n\r\nwin.add(list);\r\nwin.open();\r\n{code}\r\nExpected behavior: https://abload.de/img/simulatorscreenshot31chr92.png", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-03-31T13:50:54.000+0000", "updated": "2017-03-31T13:51:28.000+0000" }, { "id": "416798", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "FR passed, using:\r\nMacOS 10.12 (16A323)\r\nStudio 4.8.1.201612050850\r\nTi SDK 6.1.0\r\nAppc NPM 4.2.8\r\nAppc CLI 6.1.0\r\nAlloy 1.9.5\r\nXcode 8.3 (8E162)\r\n\r\nTested using the provided test case as well as another case which included a ListView using each of the added templates", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-04-04T21:51:01.000+0000", "updated": "2017-04-04T21:51:01.000+0000" }, { "id": "418095", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified this fix is in 6.2.0.v20170426052901 but not the 6_1_X branch. Can there be a backport or a revision of the fix version, [~hansknoechel]?", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-04-26T13:49:19.000+0000", "updated": "2017-04-26T13:49:19.000+0000" }, { "id": "419411", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (6_1_X): https://github.com/appcelerator/titanium_mobile/pull/9043", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-05-09T20:49:39.000+0000", "updated": "2017-05-09T20:49:39.000+0000" }, { "id": "419436", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified fix in in the 6.2.0 SDK mentioned above and in 6.1.0.v20170509170935.", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-05-10T04:15:10.000+0000", "updated": "2017-05-10T04:15:10.000+0000" } ], "maxResults": 16, "total": 16, "startAt": 0 } } }