{ "id": "176303", "key": "TIMOB-28550", "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": "21265", "description": "", "name": "Release 10.1.1", "archived": false, "released": true, "releaseDate": "2021-11-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2021-10-15T11:08:36.000+0000", "created": "2021-10-08T02:12:12.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "TabGroup", "iOS", "tabs", "tintColor" ], "versions": [], "issuelinks": [], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-11-17T10:56:54.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": "*Summary:*\r\nThe {{TabGroup}} \"titleColor\" property, which sets the inactive tab text color, is ignored on iOS 15 and wrongly uses the default gray text color instead.\r\n\r\n*Steps to reproduce:*\r\n# Create a Classic Titanium project from template. (Will provide needed tab icons.)\r\n# Use the below code as the \"app.js\".\r\n# Build and run on iOS 15.\r\n\r\n{code:javascript}\r\nfunction createTab(title, icon) {\r\n\tconst window = Ti.UI.createWindow({ title: title });\r\n\twindow.add(Ti.UI.createLabel({ text: title + \" View\" }));\r\n\tconst tab = Ti.UI.createTab({\r\n\t\ttitle: title,\r\n\t\ticon: icon,\r\n\t\twindow: window,\r\n\t});\r\n\treturn tab;\r\n}\r\n\r\nconst tabGroup = Ti.UI.createTabGroup({\r\n\ttabs: [\r\n\t\tcreateTab(\"Tab 1\", \"/assets/images/tab1.png\"),\r\n\t\tcreateTab(\"Tab 2\", \"/assets/images/tab2.png\"),\r\n\t\tcreateTab(\"Tab 3\", \"/assets/images/tab1.png\")\r\n\t],\r\n\tactiveTintColor: \"red\",\r\n\tactiveTitleColor: \"red\",\r\n\ttintColor: \"purple\",\r\n\ttitleColor: \"purple\",\r\n\ttabsBackgroundColor: \"#F7F7F7\",\r\n});\r\ntabGroup.open();\r\n{code}\r\n\r\n*Result:*\r\nNotice the inactive tab titles are gray. This is wrong and it should be purple. Also, the active tab text is wrongly purple when it should be red.\r\n !TabGroup-bad.png|thumbnail! \r\n\r\n*Expected Result:*\r\nThe active tab title should be red and the inactive tab titles should be purple.\r\n !TabGroup-Good.png|thumbnail! \r\n\r\n*Cause:*\r\nThis is an iOS 15 breaking-changed caused by the introduction of the new native [scrollEdgeAppearance|https://developer.apple.com/documentation/uikit/uitabbaritem/3750913-scrolledgeappearance?language=objc] property. We must set the tab text appearance on this new property and the iOS 13 [standardAppearance|https://developer.apple.com/documentation/uikit/uitabbaritem/3198079-standardappearance?language=objc] property.\r\n", "attachment": [ { "id": "68000", "filename": "TabGroup-bad.png", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-10-08T02:10:20.000+0000", "size": 644527, "mimeType": "image/png" }, { "id": "67999", "filename": "TabGroup-Good.png", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-10-08T02:10:20.000+0000", "size": 690402, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: TabGroup property \"titleColor\" is mishandled on iOS 15", "creator": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "459081", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/13110", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-10-08T02:46:22.000+0000", "updated": "2021-10-08T02:46:22.000+0000" }, { "id": "459169", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "Backport PR: https://github.com/appcelerator/titanium_mobile/pull/13184", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2021-11-17T10:56:54.000+0000", "updated": "2021-11-17T10:56:54.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }