[TIMOB-28523] iOS: TabGroup tab bar flickers when opening window on iOS 15
| GitHub Issue | n/a |
|---|---|
| Type | Bug |
| Priority | Critical |
| Status | Closed |
| Resolution | Fixed |
| Resolution Date | 2021-08-24T15:29:00.000+0000 |
| Affected Version/s | n/a |
| Fix Version/s | Release 10.1.0 |
| Components | iOS |
| Labels | TabGroup, iOS, tabs |
| Reporter | Hans Knöchel |
| Assignee | Joshua Quick |
| Created | 2021-08-14T11:29:29.000+0000 |
| Updated | 2021-08-24T15:29:00.000+0000 |
Description
See the example video and example code for details. It seems like it's related to [this iOS change](https://developer.apple.com/forums/thread/682432) that suggests changes to the
scrollEdgeAppearance which we override several times right now, likely causing the flicker. I also attached a native project that does exactly the same, but does not flicker, so an Apple issue can be excluded.
let tabGroup;
const window = Ti.UI.createWindow({ title: 'Window 1', backgroundColor: 'white' });
const btn = Ti.UI.createButton({ title: 'Open window' });
btn.addEventListener('click', () => {
tabGroup.activeTab.open(Ti.UI.createWindow({ title: 'Window 2', backgroundColor: 'white' }));
});
window.add(btn);
tabGroup = Ti.UI.createTabGroup({
tabs: [
Ti.UI.createTab({
title: 'Tab 1',
window,
icon: Ti.UI.createView({ width: 20, height: 20, backgroundColor: 'black' }).toImage()
})
]
});
tabGroup.open();
Attachments
| File | Date | Size |
|---|---|---|
| example.mov | 2021-08-14T11:35:28.000+0000 | 1823526 |
| test_tabgroup_native.zip | 2021-08-14T11:49:32.000+0000 | 31218 |
| with-changes.mp4 | 2021-08-18T14:34:04.000+0000 | 1934789 |
I remember this being an issue with Xcode 13 beta 2 and I wrote up the following PR to fix it. https://github.com/appcelerator/titanium_mobile/pull/12946 However, I closed the above PR since beta 3 appeared to restore backward compatibility. I'll have to double check the newest beta and use your test case.
[~jquick], just a heads up, I tried your changes out and it appears to work as expected (i.e it looks the same as on iOS 14.5 to me). I've attached a video showing it
PR (master): https://github.com/appcelerator/titanium_mobile/pull/12946