{ "id": "144556", "key": "TIMOB-18558", "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": "2015-02-12T12:07:26.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [], "versions": [ { "id": "16704", "description": "Release 3.5.0", "name": "Release 3.5.0", "archived": false, "released": true, "releaseDate": "2015-01-13" } ], "issuelinks": [], "assignee": null, "updated": "2018-02-28T19:55:02.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": "I have two ImageViews. I want to load images from URLs and fade between them. Here is a simplified version of my code:\r\n\r\n{code}\r\n\r\n \r\n \r\n\r\n{code}\r\n\r\n{code}\r\nvar animation = require('alloy/animation');\r\n\r\nvar image1URL = \"...\";\r\nvar image2URL = \"...\";\r\nvar image3URL = \"...\";\r\nvar image4URL = \"...\";\r\n\r\n$.imageview1.addEventListener('load', function(e){\r\n Ti.API.debug('imageview1 load');\r\n animation.crossFade(imageview2, imageview1, 1000);\r\n});\r\n\r\n$.imageview2.addEventListener('load', function(e){\r\n Ti.API.debug('imageview2 load');\r\n animation.crossFade(imageview1, imageview2, 1000);\r\n});\r\n\r\n// load first image... load event is fired\r\n$.imageview1.image = image1URL;\r\n\r\n// load event never fired for any subsequent image load...\r\nsetTimeout(function() {\r\n $.imageview2.image = image2URL;\r\n}, 5000);\r\n\r\nsetTimeout(function() {\r\n $.imageview1.image = image3URL;\r\n}, 10000);\r\n\r\nsetTimeout(function() {\r\n $.imageview2.image = image4URL;\r\n}, 15000);\r\n{code}\r\n\r\nOn Android the ImageView load events fire as expect: every time the image property changes and the new images loads. \r\n\r\nHowever on iOS:\r\n\r\n* The load event is fired when imageview1 image property is first set and the image loads\r\n* The load event is not fired when imageview2 image property is first set and the image loads\r\n* The load event is not fired for either imageview1 or imageview2 when the image property is changed", "attachment": [], "flagged": false, "summary": "ImageView load event fired on Android but not on iOS", "creator": { "name": "cbowley", "key": "cbowley", "displayName": "Chris Bowley", "active": true, "timeZone": "Europe/London" }, "subtasks": [], "reporter": { "name": "cbowley", "key": "cbowley", "displayName": "Chris Bowley", "active": true, "timeZone": "Europe/London" }, "environment": "3.5.0.GA\r\niOS 8.1.3", "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }