{ "id": "64111", "key": "TIMOB-3479", "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": "11251", "name": "Sprint 2011-16", "archived": true, "released": true, "releaseDate": "2011-04-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-04-21T09:54:18.000+0000", "created": "2011-04-15T03:45:44.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "rseagraves", "key": "rseagraves", "displayName": "Reggie Seagraves", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2011-04-21T16:52:11.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": "{html}
When allowsSelection = true on a TiUITableView and there are\nmore rows than can be displayed on the screen, selecting a row\ncauses rows at repeated intervals offscreen to also be\nselected.
\nAn example is attached.
\nThe problem is that a cell's state isn't being properly reset\nwhen it is reused, hence when the selected cell goes offscreen it\nbecomes available for reuse resulting in the next drawn cell to be\nselected.
\nI believe the cause of this is actually the TiUITableViewCell\nincorrectly overriding setSelected:.
\nSee \nhttp://developer.appcelerator.com/question/116611/impossible-to-com...\nfor information and a solution.
\nIn TiUITableView.m setSelected: doesn't call the corresponding\nmethod on super:
\n\n-(void)setSelected:(BOOL)yn\n{\n [super setHighlighted:yn];\n [self updateGradientLayer:yn|[self isHighlighted]];\n}
\n
\nit should be changed to:
\n\n-(void)setSelected:(BOOL)yn\n{\n [super setSelected:yn];\n [super setHighlighted:yn];\n [self updateGradientLayer:yn|[self isHighlighted]];\n}
\n
\nwhich fixes the problem.