{ "id": "176233", "key": "TIMOB-28486", "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": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2021-07-19T21:47:41.000+0000", "created": "2021-06-12T12:58:14.000+0000", "epic": { "id": 176208, "key": "TIMOB-28465", "name": "iOS: Support iOS 15 and Xcode 13", "summary": "iOS: Support iOS 15/Xcode 13", "color": { "key": "color_7" }, "done": false }, "priority": { "name": "High", "id": "2" }, "labels": [ "NavigationWindow", "TabGroup", "iOS", "title" ], "versions": [], "issuelinks": [ { "id": "59302", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "176252", "key": "TIMOB-28505", "fields": { "summary": "iOS: TabGroup tab bar is transparent instead of translucent on iOS 15", "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": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-08-14T11:00:36.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": "When opening a child window from a tab group, the tab bar flickers for a second and then remains in the wrong background color. This only occurs on iOS 15+", "attachment": [ { "id": "67945", "filename": "Simulator Screen Recording - iPhone 12 Pro Max - 2021-06-29 at 12.48.09.gif", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2021-06-29T11:50:05.000+0000", "size": 170353, "mimeType": "image/gif" } ], "flagged": false, "summary": "iOS: Title bar wrongly animates from white to custom color when back navigating on iOS 15", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": "iOS 15 Beta 1 (Xcode 13", "comment": { "comments": [ { "id": "458828", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "With the code below I'm seeing the nav bar flicker when closing the window (see attached gif), [~hknoechel] does that match what you were seeing or were you seeing something else?\r\n{code}\r\nconst tg = Ti.UI.createTabGroup({\r\n\tbarColor: 'red',\r\n\tbackgroundColor: 'red'\r\n});\r\nconst window = Ti.UI.createWindow({ backgroundColor: 'white' });\r\nwindow.addEventListener('click', () => {\r\n\tconst win = Ti.UI.createWindow({ backgroundColor: 'blue' });\r\n\ttg.activeTab.open(win);\r\n});\r\ntg.addTab(Ti.UI.createTab({ title: 'Tab 1', window }));\r\ntg.open();\r\n\r\n{code}", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2021-06-29T11:50:06.000+0000", "updated": "2021-06-29T11:50:06.000+0000" }, { "id": "458836", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This looks similar to what's reported here...\r\nhttps://developer.apple.com/forums/thread/683590\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-07-02T22:38:59.000+0000", "updated": "2021-07-02T22:38:59.000+0000" }, { "id": "458837", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Perhaps the thing to do is to change the [TiUIWindowProxy.viewWillAppear()|https://github.com/appcelerator/titanium_mobile/blob/3059dabc5abea07cc9796133b1582d63bc894069/iphone/TitaniumKit/TitaniumKit/Sources/Modules/TiUIWindowProxy.m#L267-L296] method. Instead of changing the navigation bar's background color to \"clearColor\"...\r\n{code:objc}\r\ncontroller.navigationController.navigationBar.backgroundColor = UIColor.clearColor;\r\n{code}\r\n\r\n...we should do the following instead. This gets rid of the flicker effect. Setting the {{view.backgroundColor}} will make sure the status bar background color doesn't change either... which also changes the bottom tab bar color too which appears to be wrongly white on iOS 15 as well.\r\n{code:objc}\r\ncontroller.navigationController.navigationBar.backgroundColor = appearance.backgroundColor;\r\ncontroller.navigationController.view.backgroundColor = appearance.backgroundColor;\r\n{code}\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-07-02T23:19:47.000+0000", "updated": "2021-07-02T23:19:47.000+0000" }, { "id": "458839", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Good catch! That could very likely be the issue!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2021-07-03T10:45:22.000+0000", "updated": "2021-07-03T10:45:22.000+0000" }, { "id": "458847", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I also noticed that the bottom tab bar defaults to appearance {{configureWithTransparentBackground}} on iOS 15. This means it is completely transparent now and Titanium properties such as \"tabsBackgroundColor\" do not change its color anymore. I'm able to restore the old behavior (ie: semi-translucent bottom bar) by calling the {{configureWithDefaultBackground}} API. I also have to update the tab's {{scrollEdgeAppearance}} too which is another iOS 15 breaking-change. I'll write up a separate ticket for this, but I'll likely have to solve that problem and this ticket's issue via the same PR.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-07-08T04:06:23.000+0000", "updated": "2021-07-08T04:06:23.000+0000" }, { "id": "458848", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Nice one! Thank you Josh!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2021-07-08T07:27:49.000+0000", "updated": "2021-07-08T07:27:49.000+0000" }, { "id": "458849", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I'm concluding this is an iOS 15 bug. I can see Apple's staff has acknowledged and hopefully they'll do something about it before release.\r\nhttps://developer.apple.com/forums/thread/683590\r\n\r\nThe work-around I posted above works on the title bar, but it's still an issue with the status bar which briefly shows the window's background color. I don't see any way of working-around this issue for the status bar without changing the window's background color itself which isn't a good idea.\r\n\r\n*Side Note:*\r\nWe should add the following call [TiUIWindowProxy.viewWillAppear()|https://github.com/appcelerator/titanium_mobile/blob/3059dabc5abea07cc9796133b1582d63bc894069/iphone/TitaniumKit/TitaniumKit/Sources/Modules/TiUIWindowProxy.m#L267-L296] method so that the top nav bar updates immediately when transitioning to the window being opened. I think this looks better. (This isn't related to this ticket.)\r\n{code:objc}\r\n[controller.navigationController.navigationBar layoutIfNeeded];\r\n{code}\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-07-09T19:41:15.000+0000", "updated": "2021-07-09T19:41:15.000+0000" }, { "id": "458870", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I just re-tested this with Xcode 13 beta 3.\r\nIt looks like Apple fixed it. Woo-hoo!\r\n\r\nOther native iOS developers have confirmed it to be fixed as well...\r\nhttps://developer.apple.com/forums/thread/683590\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-07-19T21:23:20.000+0000", "updated": "2021-07-19T21:23:20.000+0000" }, { "id": "458983", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "I can confirm it looks good now!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2021-08-14T11:00:36.000+0000", "updated": "2021-08-14T11:00:36.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }