Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-20112] iOS: Fullscreen Video Pushing the NavBar upwards to the size of the status bar and remains there after exit Fullscreen

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionDuplicate
Resolution Date2017-01-20T23:14:50.000+0000
Affected Version/sRelease 5.1.1
Fix Version/sn/a
ComponentsiOS
Labelsalloy, fullscreen, ios, titanium, videoplayer
ReporterDennis Priebe
AssigneeHans Knöchel
Created2015-11-02T15:58:03.000+0000
Updated2017-03-29T21:58:46.000+0000

Description

the problem is when the user switch to fullscreen video and then coming back the NavBar of the NavigationWindow is pushed upwards to the size of the status bar and remains there. The only solution for me that worked is to close and reopen the MainNavigationWindow. and this couldn't be the final solution. more hint's from me: z-index of the Video View is higher than the others. fullscreen vor the app and hiding the NavBar and StatusBar is disabled in the tiapp.xml. fullscreen for the MainNavigationWindow and it's Main Window is disabled in the .tss Files. It looks like this will be all ignored. The Fullscreen Signal from the VideoPlayer is fired and pushes the navbar to the size of the status bar upward. After the fullscreen exit remains the navbar at the position. And under the navbar remains a black gap in the size of the StatusBar. To Reproduce the error I've created a basic Project with the standard template and copy only necessary code into it. here is also the related Stackoverflow link where Fokke Zandbergen mentioned to create a Ticket: >>[http://stackoverflow.com/questions/33390914/fullscreen-video-pushing-the-navbar-upwards-to-the-size-of-the-status-bar-and-re]<< It looks like this is not only on FullscreenVideo...

Attachments

FileDateSize
ControllersViewsStyles.zip2015-11-02T15:54:22.000+00004940
Problem.png2015-11-03T09:42:18.000+0000953950
Simulator Screen Shot Nov 3, 2015, 2.07.43 PM.png2015-11-03T08:16:08.000+0000442552
Simulator Screen Shot Nov 3, 2015, 2.07.59 PM.png2015-11-03T08:16:06.000+0000426149
Simulator Screen Shot Nov 3, 2015, 2.08.06 PM.png2015-11-03T08:16:07.000+0000438329
Simulator Screen Shot Nov 3, 2015, 2.08.13 PM.png2015-11-03T08:16:10.000+0000438329
Simulator Screen Shot Nov 3, 2015, 2.08.34 PM.png2015-11-03T08:16:09.000+000064472

Comments

  1. Fokke Zandbergen 2015-11-03

    [~dpriebe] could you add the screenshots you linked from Stack?
  2. Dennis Priebe 2015-11-03

    Here are the Screenshots i've posted on Stackoverflow http://stackoverflow.com/questions/33390914/fullscreen-video-pushing-the-navbar-upwards-to-the-size-of-the-status-bar-and-re
  3. Shawn Lan 2016-01-07

    If the app is portrait only, after exiting fullscreen video, the system status bar will change orientation when rotating screen, while the app is still portrait only. Looks very weird....
  4. Hans Knöchel 2016-01-16

    Before I check the issue in detail, can you validate that the issue does also happen in the [latest 5_2_X build](http://builds.appcelerator.com/mobile/5_2_X/mobilesdk-5.2.0.v20160114021251-osx.zip) when AutoLayout is enabled? To test AutoLayout, add this property to the tiapp.xml, clean the project and run it again: <use-autolayout>true</use-autolayout> Demo to reproduce (without unrelated code):
       var window = Ti.UI.createWindow({backgroundColor: "#fff", title: "Demo"});
       var nav = Ti.UI.iOS.createNavigationWindow({window: window});
       
       var player = Ti.Media.createVideoPlayer({
               height:Titanium.UI.FILL,
       	width:Titanium.UI.FILL,
       	borderWidth: 1,
       	zIndex: 1,
       	mediaControlStyle: Titanium.Media.VIDEO_CONTROL_EMBEDDED,
       	scalingMode: Titanium.Media.VIDEO_SCALING_ASPECT_FIT,
       	autoplay: false,
               media: "http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4"
       });
       
       window.add(player);
       nav.open();
       
  5. Lorenzo Piccinini 2016-02-08

    Any news about this bug? Why in Kitchen Sink it works fine? I don't find the solution for my app!
  6. Dennis Priebe 2016-04-14

    Hello, @Hans Knoechel now I had some time for testing and review this issue. Some facts: Fresh OS X installation and totally fresh/new Appcelerator dev environment with option to build from CLI and Appcelerator Studio. * System: Mac OS X 10.11.3 (64bit) * Node.js: 4.2.6 over nvm * Appcelerator CLI: 5.2.2 * Titanium CLI: 5.0.7 * Alloy: 1.8.5 * Titanium SDK: 5.2.2.GA * Java: 1.8.0_77 * Xcode: 7.3 (build 7D175) * iOS SDK: 9.3 * Android SDK: Android 6.0 API 23 Rev. 3 * Android NDK: r11c * Appcelerator Studio: 4.5.0.201602170821 For dev with extra Editor: * Atom Editor: 1.7.0 Atom Plugins: * atom-beautify: 0.29.2 * build: 0.59.0 * project-manager: 2.9.7 * linter: 1.11.4 * minimap: 4.4.0 * titanium-alloy: 0.9.5 * ti-create: 0.26.0 * titanium-build: 0.8.1 * titanium-language-javascript: 0.48.0 * related-split-view: 0.2.1 What I have tested with this environment and what result i get:

    The Code i uploaded with creating this Jira Ticket -> _SAME ISSUE AS DESCRIBED_

    The Code i uploaded with creating this Jira Ticket and the *true* in the trap.xml -> _THE VIDEO PLAYS BUT NOT SHOWING UP SO I CANT GET INTO FULL SCREEN ANYMORE_

    The Code postet from Hans Knoechel WITHOUT *true* in the trap.xml -> _SAME ISSUE AS DESCRIBED_

    The Code postet from Hans Knoechel WITH *true* in the trap.xml -> _SAME ISSUE AS DESCRIBED - BUT WITHOUT THE ISSUE THAT THE VIDEO IS NOT SHOWING UP_

    So the issue is still there and the use of the experimental *true* have no positive effect. If I use the Alloy way to create the Windows the use of the experimental *true* also have the effect that the Video is not showing up but i hear the sound of it. One thing i have to say.. maybe it helps.. a video opened in the web view and showed there in fullscreen did not trigger this issue. I will also add 2 Pictures that shows the issue with the code from Hans Knoechel with autolayout and the not showing up video with my code and auto layout. @Lorenzo Piccinini TheKitchen Sink App is a Tabbed App that contains for each tab a Window. This issue takes place then u have a single Window App. That means u have a Navigation Window with a Window inside and switching the Views in this Window. The Code from Hans Knoechel described it very good in ti-js Code whats happened there (the Player is nothing else than a View). In My Code i go the Alloy Way to create this structure and the nav Links only show the selected view and hide the other view.
  7. Dennis Priebe 2016-04-14

    with the code from Hans Knoechel and with autolayout after exit the fullscreen (Demo went up as described and left the gap): !http://s30.postimg.org/5vl5ltgbl/Bildschirmfoto_2016_04_14_um_16_56_06.png! he not showing up video with my code and autolayout: !http://s30.postimg.org/cjhr8eztt/Bildschirmfoto_2016_04_14_um_17_00_27.png!
  8. Hans Knöchel 2016-04-14

    Thank you! Before we revisit this issue, can you test using the latest 5.4.0 build from http://builds.appcelerator.com/? We did some autolayout fixes the last week that may or may not effect this. Thanks you!
  9. Dennis Priebe 2016-04-14

    I've tested the same way with Titanium SDK 5.4.0.v20160414135955 and it shows the same behavior as before with 5.2.2.GA.
  10. Dennis Priebe 2016-07-28

    Hi, are there any new Infos about this issue?
  11. Hans Knöchel 2017-01-20

    Hey Dennis, quick update here: I tried sooo many different attempts here and none of my attempts to fix it succeeded. It's driving me nuts. I will try a bit more this sprint, but if cannot find a solution, I need to put it on hold for now. It's a biggie!
  12. Hans Knöchel 2017-01-20

    Update! This issue will be fixed as part of TIMOB-19040, just tested our above use-case with the linked PR. We updated the API behind the video-player to a more modern one (AVPlayer), so feel free to patch your current SDK with the the PR already. Thanks!
  13. Dennis Priebe 2017-01-30

    Many thanks, I appreciate your efforts very much!
  14. Lee Morris 2017-03-29

    Closing ticket as duplicate, with reference to the above comments and links.

JSON Source