Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-25928

iOS: Closing a window with "tabBarHidden" property while modal window is open hides TabGroup bar

    Details

    • Type: Bug
    • Status: Closed
    • Priority: High
    • Resolution: Not Our Bug
    • Affects Version/s: Release 6.0.4, Release 6.3.0, Release 7.1.0
    • Fix Version/s: None
    • Component/s: iOS, TiAPI
    • Environment:

      At least TiSDK 6+ & 7+ (tested on 6.0.4.GA, 6.3.0.GA & 7.1.0.GA)
      Alloy 1.11
      MacOS
      iOS

    • Story Points:
      1
    • Sprint:
      2018 Sprint 07 SDK

      Description

      In a certain flow it is possible to permanently hide the tabbar even though it is not according to spec. It can be recreated using the following flow:

      • open window with tabbarhidden property on true in tab
      • open modal window on top of this
      • close window with tabbarhidden property
      • close modal window

      Now, while the tabbar should be visible again, the tabbar is actually hidden. Only way to re-enable it is to open another window in the tabgroup with the tabbarhidden property and then manually close it again without the modal present. This seems to trigger a refresh. Below code to reproduce

      Ti.UI.backgroundColor = 'white';
       
      var tabGroup = Ti.UI.createTabGroup();
      var window1 = Ti.UI.createWindow({
          title: 'Window 1'
      });
      var tab1 = Ti.UI.createTab({
          title: 'Tab 1',
          window: window1
      });
       
      var window2 = Ti.UI.createWindow({
          title: 'Window 2'
      });
      var tab2 = Ti.UI.createTab({
          title: 'Tab 2',
          window: window2
      });
       
      tabGroup.addTab(tab1);
      tabGroup.addTab(tab2);
       
      tabGroup.addEventListener('open', doStuff);
       
      tabGroup.open();
       
      // below is test code to reproduce the issue
      function doStuff() {
          Ti.API.info('START!');
          var secondWindow = Ti.UI.createWindow({
              tabBarHidden: true,
              title: "2nd window no tabbar"
          });
       
          var modalWindow = Ti.UI.createWindow();
          var nav = Ti.UI.iOS.createNavigationWindow({
              window: modalWindow
          });
       
          setTimeout(function() {
              // open tabbarhidden window in tabgroup
              tab1.openWindow(secondWindow);
       
              setTimeout(function() {
                  // open modal
                  nav.open({
                      modal: true
                  });
       
                  setTimeout(function() {
                      // close tabbarhidden window in tabgroup while modal is open
                      secondWindow.close();
       
                      setTimeout(function() {
                          // close modal window, now tabbar is gone
                          nav.close();
                      }, 1000);
                  }, 1000);
              }, 1000);
          }, 2500);
      }
      

        Attachments

          Activity

            People

            • Assignee:
              hknoechel Hans Knöchel
              Reporter:
              topener Rene Pot
            • Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Backbone Issue Sync

                • Titanium SDK/CLI <> Titanium Mobile
                  Synced with:
                  TIMOB-6280
                  Sync status:
                  ERROR
                  Last received:
                  Last sent:

                  Git Source Code