Добавление представления с высотой 100% в Titanium не работает на iOS - PullRequest
2 голосов
/ 11 ноября 2011

У меня проблема с отображением, когда я пытаюсь добавить View со 100% высотой в Titanium - он отображается правильно на Android, но не на iOS. Вот упрощенный код:

Ti.UI.setBackgroundColor('#000');

var win = Ti.UI.createWindow({  
    title:'win',
    backgroundColor:'#fff'
});

var s = Ti.UI.createView({
    width:'100%',
    height:'100%',
    backgroundColor:'red',
    layout: 'horizontal'
});

var r = Ti.UI.createView({
    backgroundColor:'yellow',
    width:300,
    height:'100%' // problem
})

s.add(r);

win.add(s);
win.open();

Результат на Android (правильный): Android

Результат на iPad: iPad

Это работает, если я устанавливаю высоту в конечное число, но я хочу, чтобы представление покрывало всю высоту. Как я могу сделать это, и почему 100% высота не работает на iOS?

1 Ответ

1 голос
/ 11 ноября 2011

Вероятно, это связано с добавлением view к view.Если добавить yellow view к window и присвоить zIndex обоим видам, он будет работать правильно.

Для выравнивания по левому краю следует использовать left: 0;, а не layout: 'horizontal' в качествесогласно документации свойство макета не существует: http://developer.appcelerator.com/apidoc/mobile/latest/Titanium.UI.Window-object

var s = Ti.UI.createView({
    width:'100%',
    height:'100%',
    backgroundColor:'red',
    zIndex: 1
});

var r = Ti.UI.createView({
    backgroundColor:'yellow',
    width:300,
    height:'100%', // no problem
    zIndex: 2,
    left: 0
});

win.add(r);
...