Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-10448] iOS: modal window does not have screen size and navBar parity

GitHub Issuen/a
TypeBug
PriorityLow
StatusOpen
ResolutionUnresolved
Affected Version/sRelease 2.0.2, Release 2.1.2, Release 3.1.0
Fix Version/sn/a
ComponentsiOS
Labelsapi, parity, qe-ios082012, reprod
ReporterDustin Hyde
AssigneeUnknown
Created2012-08-14T19:42:25.000+0000
Updated2018-02-28T20:03:30.000+0000

Description

modal windows are fullscreen, unlike other platform implementations navBarHidden works whether or not the window is modal, unlike other platforms otherwise, modal windows in mobileweb and android are not fullscreen by default, and navBarHidden does not work in mobileweb unless the window is modal, as documented see screenshots, see documentation here are some fix options: 1. don't make modal windows fullscreen 2. make mobileweb and android modal windows fullscreen 3. update the documentation to indicate platform differences for navBarHidden, fullscreen, and modal for example: - navBarHidden boolean works in ios regardless of modal boolean - fullscreen boolean does not appear to work on any platform if the window (modal or not) is in a tab (see sample code below) - fullscreen false does not work in ios modal windows - modal and fullscreen don't seem to have any effect on android if window is in a tab - etc. steps to reproduce: 1. run code:
var getRandomColor = function()
{
	return "#" + Math.random().toString(16).slice(2, 8);
};

function createTabGroupObject() {
	var tabGroupObject = {};

	tabGroupObject.tabGroup = Ti.UI.createTabGroup();

	tabGroupObject.addTabFromString = function(string) {
		var color = getRandomColor();

		var tabWindow = Ti.UI.createWindow({
			backgroundColor : color,
			title : string,
			barColor: color,
			navBarHidden : true, // Ti.UI.Window.navBarHidden
			modal : true, // Ti.UI.Window.modal
			fullscreen : false // Ti.UI.Window.fullscreen
		});

		var tab = Ti.UI.createTab({
			window : tabWindow,
			title : string,
			borderWidth : 1,
			borderColor : 'black',
			backgroundColor : color
		});

		tabGroupObject.tabGroup.addTab(tab);
		tabGroupObject['tab' + string] = tab;
	};

	tabGroupObject.open = function() {
		tabGroupObject.tabGroup.open();
	};

	return tabGroupObject;
}

var tabGroupObject = createTabGroupObject();

tabGroupObject.addTabFromString('Checkout');
tabGroupObject.addTabFromString('Return');

tabGroupObject.open();
actual result: all platforms open a tabgroup with two tabs, each tab window having a different color, except for ios which opens a fullscreen window, see screenshots expected result: all platforms open a tabgroup with two tabs, each tab window having a different color

Attachments

FileDateSize
android.png2012-08-14T19:42:25.000+0000343931
ios.png2012-08-14T19:42:25.000+0000111474
mobileweb.png2012-08-14T19:42:25.000+000053165
window.fullscreen.png2012-08-14T19:42:25.000+000029084
window.modal.png2012-08-14T19:42:25.000+000063205
window.navBarHidden.png2012-08-14T19:42:25.000+000020072

Comments

  1. jithinpv 2013-03-27

    Issue reproduces Tested with Titanium Studio, build: 3.0.1.201212181159 Titanium SDK version: 3.1.0 Titanium SDK version: 3.0.2 iOS iPhone Simulator: iOS SDK version: 6.0
  2. Lee Morris 2017-06-19

    I am able to reproduce this issue with the following environment; iPhone 7 (10.2) Studio 4.9.0.201705302345 Ti SDK 6.1.1.v20170609091155 Appc NPM 4.2.9 Appc CLI 6.2.1 Ti CLI 5.0.13 Alloy 1.9.11 Arrow 2.0.0 Xcode 8.2 (8C38) Node v4.8.2 Java 1.8.0_131

JSON Source